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.9–3.13
musl
3.9–3.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.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 44.2MB
glibc
py 3.10–3.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
40 hits · last 30 days
node
36
OpenAI (training)
1
Resources
boschshcpy — pip install boschshcpy · libregistry