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 mechanics (cloud module): cloud_put_json() — Bearer-auth PUT with a timeout, HTTP-status classification, optional JSON response parsing. This is the one shared piece extracted from the source integration's 5 cloud-setter functions (privacy/light/light_component/notifications/pan); deliberately narrow — see "Out of scope" below.

Out of scope (stays integration-specific, not extracted here, by deliberate "clean boundary" decision — see knowledge-base/ha-core-submission-plan.md in the source repo): the cloud setters' actual multi-tier fallback orchestration (cloud → local RCP → SHC local API), coordinator cache writes, and notification side effects — genuine coordinator business logic, not wire protocol, and threading the ~15 coordinator attributes it touches through a "pure" interface would obscure the boundary rather than clarify it. Also out of scope: 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.

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.4.tar.gz (54.7 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.4-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bosch_shc_camera_client-0.5.4.tar.gz
  • Upload date:
  • Size: 54.7 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.4.tar.gz
Algorithm Hash digest
SHA256 84f0286ea886d66477c5f3260f95bcb955f1c6a962706d0b286b93bd41bb0d22
MD5 a769dd19c325d0c46723b3905b0fecdc
BLAKE2b-256 6ebc5643a0dcbc3e1ef297d2cbef31d7f546c2c02fc93cea4ec0aafe38757aa0

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosch_shc_camera_client-0.5.4.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.4-py3-none-any.whl.

File metadata

File hashes

Hashes for bosch_shc_camera_client-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3c6a87754b8d1c0d10ca5011841c810a17dabc4d2252fb30170a7ee299ad75bc
MD5 e3d60ce957508fa17c7b6d16055cc1a3
BLAKE2b-256 9b6470e6c8324e41031ee026d8c86ce53e1649007aac8e1a1c4c818ec79fa4f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for bosch_shc_camera_client-0.5.4-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