Skip to content

v13.7.1 — snapshot/image display fixes + SMB TLS

Choose a tag to compare

@mosandlt mosandlt released this 17 Jun 18:21
· 3 commits to main since this release

A patch focused on snapshot/image display, plus one security fix.

Security

  • SMB upload now verifies the cloud-media download over TLS. When uploading event media to an SMB share, the clip/snapshot was fetched from the Bosch cloud without verifying the certificate (CERT_NONE). It now verifies against the pinned Bosch CA like every other cloud call (CWE-295). Update recommended if you use SMB upload.

Bug fixes

  • Black image on mobile / last snapshot not shown. Offline cameras (and cold starts) could show a black frame in the Companion app while the desktop browser was fine. The card now loads the last good frame the backend serves for an offline camera instead of relying on a browser-only cache, and the backend no longer treats its 1×1 black placeholder as a real cached image on a cold start (with a back-off so an offline camera isn't polled on every request).
  • Stuck loading spinner on offline cameras. The "loading image…" spinner no longer overlaps the "Camera Offline" overlay.
  • Stuck "refreshing" overlay after a failed image refresh.
  • Live view now recovers cleanly after a camera drops offline mid-stream.
  • Offline overlay is localized for all 11 languages (was German-only).
  • Fewer redundant snapshot requests — per-camera refresh targeting, staggered timers, and single-fetch caching, easing the camera's cloud session budget.

Full changelog: https://github.com/mosandlt/Bosch-Smart-Home-Camera-Tool-HomeAssistant/blob/main/CHANGELOG.md

Also in this patch

  • Offline and privacy cameras now show the last frame on the mobile app (not a black/grey tile).

Note: the iOS Companion app caches custom cards and ignores ?v= — after updating, do Settings → Companion app → Debug → Reset frontend cache once if a camera still looks stale.

  • Mobile native camera view: offline cameras no longer show a black live-stream attempt (the entity stops advertising STREAM while offline → the app shows the snapshot); offline cameras hide their control icons in fullscreen; and WebRTC is skipped on iOS over plain http (goes straight to HLS).