Registry / communication / boschshcpy

boschshcpy

JSON →
library0.2.111pypypiunverified

A Python library to interact with the Bosch Smart Home Controller (SHC) API. Version 0.2.111. Development seems active on GitHub with regular updates.

pip install boschshcpy
INSTALL
IMPORT
SIG · BOSCHSHCPY
B
boschshcpy
communicationpythonv0.2.111
Install
3.9s avg
Import
Disk
43MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.2.111 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 44.2MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 3.9s · import 0.000s · 45MB
43MB installed
● package 43MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

BoschShcClient
from boschshcpy import BoschShcClient
from boschshcpy import BoschShcClient

Basic async example connecting to Bosch SHC and listing devices.

import asyncio import os from boschshcpy import BoschShcClient, BoschShcSession async def main(): # Use environment variables for credentials host = os.environ.get('BOSCH_SHC_HOST', '192.168.1.100') password = os.environ.get('BOSCH_SHC_PASSWORD', '') # For first-time setup, you need to register a client # This example assumes you have already registered and have credentials session = BoschShcSession(host, password) client = BoschShcClient(session) # Connect and retrieve devices await client.initialize() devices = await client.get_devices() for device in devices: print(f"{device.name}: {device.device_model}") await client.close() asyncio.run(main())
Debug
Known issues
gotchaThe library uses async/await throughout. Synchronous calls will block the event loop. Ensure you run all methods within an async context.
fix
Use asyncio.run() or an async framework like aiohttp.
affects: all
deprecatedThe method `get_scenarios()` was deprecated in v0.2.100 and replaced by `get_scenes()`.
fix
Use `client.get_scenes()` instead.
affects: >=0.2.100
brokenIn older versions (<0.2.80), the import path for device classes was inside `boschshcpy.device`. This was changed to `boschshcpy` directly.
fix
Update to latest version and import from `boschshcpy`.
affects: <0.2.80
Upgrade
Version history
0.2.111latest on PyPI · released Feb 8, 2026
Audit
Dependencies
httpxrequiredAsync HTTP client used for API calls
zeroconfrequiredDiscovery of Bosch SHC devices on local network
cryptographyrequiredCertificate handling for TLS communication
voluptuousrequiredConfiguration validation
aiofilesrequiredAsync file I/O for storing certificates
Agent activity
38 hits · last 30 days
node
34
OpenAI (training)
1
Resources
boschshcpy — pip install boschshcpy · libregistry