Async Python client library for Bosch Smart Home Camera cloud + local (RCP) APIs.
Project description
bosch-shc-camera-client
Async Python client library for Bosch Smart Home Camera cloud + local (RCP) APIs.
Extracted from the Bosch Smart Home Camera Tool integration family (Home Assistant, ioBroker, Python CLI, MCP, Node-RED, NiceGUI frontend) so every consumer shares one maintained implementation instead of duplicating the client logic per platform.
Status: early extraction in progress. Not yet feature-complete versus the inline modules it's replacing.
Scope
- Local RCP protocol read access over
/rcp.xml(Gen2 camera on-device control plane), read-only (local_rcpmodule — synchronous, used from an executor thread). - HTTP Digest authentication (RFC 7616/2617) —
auth_utils.async_digest_request. - RCP (Remote Configuration Protocol) via cloud proxy and direct LOCAL (
rcpmodule): session management with TTL caching, binary protocol reads, direct-LOCAL Gen2 reads/writes (privacy mode, front-light brightness), and response parsers (alarm catalog, motion zones/coords, TLS cert info, network services, IVA analytics catalog). All session/SSL-context objects are caller-injected — this module never builds or caches HA-specific process-wide state itself. - Bosch cloud API (
residential.cbs.boschsecurity.com) write endpoints: privacy mode, camera light, notifications, pan — planned, not yet extracted. These need a session-injection + cache-redesign refactor (some hold cross-call business state — a lighting-switch response cache, a last-brightness memory — not just a session) before they can move here cleanly; see the source repo'sknowledge-base/ha-core-submission-plan.mdfor the concrete spec.
Out of scope (stays integration-specific, not extracted here): FCM push-notification plumbing tied to
Home Assistant's recorder/snapshot-store internals, anything HA-entity-shaped, and the SMB/FTP export
helpers (smb.py) — those reach into the HA integration's coordinator object directly
(coordinator.hass, coordinator.options, private state) rather than being a standalone API client, so
they don't belong in a generic library without their own decoupling pass first.
Install
pip install bosch-shc-camera-client
License
MIT, see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bosch_shc_camera_client-0.4.0.tar.gz.
File metadata
- Download URL: bosch_shc_camera_client-0.4.0.tar.gz
- Upload date:
- Size: 41.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b15ee74b60bebf9a47b4d14e37e21be643a6cc9eaf0d3290db88d669d1758d65
|
|
| MD5 |
cf7f78f5b9b300cc3b764e67b70686ab
|
|
| BLAKE2b-256 |
67c0f25a13c8708e49505a0c1a46065764968662bb77e4245b3e293dba741f0c
|
Provenance
The following attestation bundles were made for bosch_shc_camera_client-0.4.0.tar.gz:
Publisher:
publish-pypi.yml on mosandlt/bosch-shc-camera-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bosch_shc_camera_client-0.4.0.tar.gz -
Subject digest:
b15ee74b60bebf9a47b4d14e37e21be643a6cc9eaf0d3290db88d669d1758d65 - Sigstore transparency entry: 2167243875
- Sigstore integration time:
-
Permalink:
mosandlt/bosch-shc-camera-client@f434545052ebcce8c5dc025abe7ff255fdc490cc -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/mosandlt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@f434545052ebcce8c5dc025abe7ff255fdc490cc -
Trigger Event:
push
-
Statement type:
File details
Details for the file bosch_shc_camera_client-0.4.0-py3-none-any.whl.
File metadata
- Download URL: bosch_shc_camera_client-0.4.0-py3-none-any.whl
- Upload date:
- Size: 17.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e7cc8a451fb82cde401bdbb0aadd8ee8b51acb462d3e48dd2c7a33eec208a55
|
|
| MD5 |
cf0d12dd93d608cf630f2d38f60dcc3f
|
|
| BLAKE2b-256 |
a6073e39b0673324dc66825b72f124fd0457301991fff25391a08faa545da456
|
Provenance
The following attestation bundles were made for bosch_shc_camera_client-0.4.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on mosandlt/bosch-shc-camera-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bosch_shc_camera_client-0.4.0-py3-none-any.whl -
Subject digest:
2e7cc8a451fb82cde401bdbb0aadd8ee8b51acb462d3e48dd2c7a33eec208a55 - Sigstore transparency entry: 2167243885
- Sigstore integration time:
-
Permalink:
mosandlt/bosch-shc-camera-client@f434545052ebcce8c5dc025abe7ff255fdc490cc -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/mosandlt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@f434545052ebcce8c5dc025abe7ff255fdc490cc -
Trigger Event:
push
-
Statement type: