Skip to main content

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_rcp module — 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 (rcp module): session management with TTL caching, binary protocol reads, direct-LOCAL Gen2 reads/writes (privacy mode, front-light brightness), response parsers (alarm catalog, motion zones/coords, TLS cert info, network services, IVA analytics catalog), and fetch_rcp_camera_data() — a pure per-camera orchestrator that reads all of the above in one call and returns an RcpCameraData dataclass (only fields whose reads succeeded are populated; the rest stay None, meaning "not read this round"). All session/SSL-context objects are caller-injected — this module never builds or caches HA-specific process-wide state itself, and never touches any coordinator/cache-dict state.
  • 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's knowledge-base/ha-core-submission-plan.md for 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bosch_shc_camera_client-0.5.0.tar.gz (50.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bosch_shc_camera_client-0.5.0-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file bosch_shc_camera_client-0.5.0.tar.gz.

File metadata

  • Download URL: bosch_shc_camera_client-0.5.0.tar.gz
  • Upload date:
  • Size: 50.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bosch_shc_camera_client-0.5.0.tar.gz
Algorithm Hash digest
SHA256 bf73bc15976ed33497bf2caff4c72a9b95ed861c676a6e2caaf3ee2100c22252
MD5 48b9408b10e95bd0f9e2cce165bd0311
BLAKE2b-256 f53e69f01490de39bddda4321abcedb5c1583e45b447c25ec8e12f6868084f13

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosch_shc_camera_client-0.5.0.tar.gz:

Publisher: publish-pypi.yml on mosandlt/bosch-shc-camera-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bosch_shc_camera_client-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for bosch_shc_camera_client-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5e96595c2377c8e6a3ca6aa36d36c38482ebbf2b32dcadd1336662611a2460d9
MD5 05cd25dde8d31c91ef792bf7b00077bc
BLAKE2b-256 3e34b200f4583152aa2591d30df562ea8255212b1645385478c0d1808b5aa35c

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosch_shc_camera_client-0.5.0-py3-none-any.whl:

Publisher: publish-pypi.yml on mosandlt/bosch-shc-camera-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page