skillfed

boschshcpy

Bosch Smart Home Controller API Python Library

boschshcpy v0.6.8 185.7K downloads/30d#10,002 on PyPI72
Permissive license bsd-3-clause Active released

What it is and what it does

boschshcpy is a Python client for controlling Bosch Smart Home Controller devices over the local network using mutual-TLS encryption. It provides both synchronous (requests-based) and asynchronous (aiohttp-based) interfaces, with a long-poll mechanism that fires callbacks when device state changes. The library models the official OpenAPI surface plus several undocumented endpoints that Bosch's own Android app uses—firmware updates, automation rules, and other features—all traced from the official app and real hardware.

The package is designed for direct integration into home automation systems (notably Home Assistant via boschshc-hass) and standalone scripts. It handles device discovery, service state tracking, and connection retry logic transparently. Supported devices include shutters, smart plugs, lights, thermostats, motion detectors, cameras, and various sensors; the library also manages controller-wide operations like firmware updates and intrusion/water-alarm systems.

Use it for:

  • Build a Home Assistant integration or custom home automation dashboard that polls Bosch Smart Home devices over the local network without cloud dependency.
  • Trigger Bosch device actions (shutter control, light switching, thermostat adjustment) from a Python script or event handler on the same network.
  • Monitor firmware updates and device health status (battery level, communication quality, tamper alerts) from a centralized Python application.
  • Implement custom automation rules or presence simulation logic that reacts to Bosch sensor state changes via callback subscriptions.
  • Integrate Bosch Smart Home devices into a broader home automation platform that requires local-network-only operation for privacy or reliability.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Python client library for the Bosch Smart Home Controller local REST API, communicating directly with the controller over mutual-TLS on the local network without requiring a cloud connection or Bosch account.

Yes. The library is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive license. Install it if you own Bosch Smart Home Controller hardware and need programmatic local control without cloud dependency. The reverse-engineered endpoints are explicitly documented as such, so verify compatibility with your specific SHC generation before relying on firmware-update or automation-rule features in production.

Install

boschshcpy on PyPI

pip

pip install boschshcpy

uv

uv add boschshcpy

poetry

poetry add boschshcpy

Installing boschshcpy

Before you install

Low friction: pure Python wheel with four runtime dependencies (cryptography, getmac, requests, zeroconf). Actively maintained with a release 9 days ago; repository shows 72 stars and no archived status.

License in practice

BSD 3-Clause (permissive): you may use, modify, and distribute this library freely in commercial and private projects, provided you retain the license notice and disclaimer.

Quickstart

pip install boschshcpy

import boschshcpy

session = boschshcpy.SHCSession("192.168.x.x", "cert.pem", "key.pem")
session.information.summary()
session.start_polling()
# ... your code ...
session.stop_polling()

Requires Python ≥ 3.10. Client certificate registration via boschshc_registerclient CLI tool requires physical access to the SHC device (press front button until LED flashes) and the device password.

Verify before relying

  • Whether the library's reverse-engineered endpoints (firmware updates, automation rules, hydraulic balancing) remain stable across SHC firmware versions.
  • Real-world performance and reliability of the long-poll mechanism under sustained network interruptions.
  • Compatibility with all Bosch Smart Home Controller hardware generations currently in the field.

Package facts

License bsd-3-clause (permissive)
Python support supports the current Python release (<4,>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 4 — cryptography, getmac, requests, zeroconf
Maintenance actively maintained — 9 days since the last release
Last repo commit
First released
Downloads 185,709/month — #10,002 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: boschshcpy-0.6.8-py3-none-any.whl

Keywords: boschshcpy

Intended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3

Tags

bosch smart home controller apilocal home automation python clientmtls rest api home controlzigbee homeMaticIP device integrationbosch shc python librarylocal network home automationsmart home device polling
home-automationlocal-network-apimtls-client

More WWW/HTTP packages