NEWS
Adapter - Bosch Smart Home Kameras
-
Bin unterwegs und konnte übers Smartphone nur kurz testen. Adapter auf 0.3.3 aktualisiert. Cams sind beide online. Steuern von Light und privacy geht. Stream und snapshot muss ich morgen am PC testen. Nice wäre noch wenn man die Wallwasher über einen Datenpunkt steuern könnte um diese über einen externen Sensor bei allen Cams gleichzeitig schalten zu können. Momentan gehen sie bei Dämmerung bei mir zu unterschiedlichen Zeitpunkten an. Und das triggern eines Events per Datenpunkt wäre ebenfalls noch ein nützliches Feature. Dann könnte ich meinen Philips Hue Bewegungsmelder weiter unten in der Einfahrt nutzen um früher ein Event zu triggern.
Gibt es eine Limitierung was den rtsp stream angeht? Oder ist es möglich den stream 24/7 laufen zu lassen um ihn in mein BlueIris System zu integrieren?
Danke für deine Arbeit, wirklich klasse wie schnell das geht.
-
Bin unterwegs und konnte übers Smartphone nur kurz testen. Adapter auf 0.3.3 aktualisiert. Cams sind beide online. Steuern von Light und privacy geht. Stream und snapshot muss ich morgen am PC testen. Nice wäre noch wenn man die Wallwasher über einen Datenpunkt steuern könnte um diese über einen externen Sensor bei allen Cams gleichzeitig schalten zu können. Momentan gehen sie bei Dämmerung bei mir zu unterschiedlichen Zeitpunkten an. Und das triggern eines Events per Datenpunkt wäre ebenfalls noch ein nützliches Feature. Dann könnte ich meinen Philips Hue Bewegungsmelder weiter unten in der Einfahrt nutzen um früher ein Event zu triggern.
Gibt es eine Limitierung was den rtsp stream angeht? Oder ist es möglich den stream 24/7 laufen zu lassen um ihn in mein BlueIris System zu integrieren?
Danke für deine Arbeit, wirklich klasse wie schnell das geht.
Hi @Jaschkopf,
freut mich dass v0.3.3 sauber lief und die Toggles funktioniert haben. Auf deine drei Punkte vom Smartphone-Test bin ich direkt drangegangen — v0.4.0 ist gerade live:
https://github.com/mosandlt/ioBroker.bosch-smart-home-camera/releases/tag/v0.4.0
1. Wallwasher separat schaltbar ✅
Zwei neue Datenpunkte pro Cam:
cameras.<id>.front_light_enabled // Frontlampe (Gen1 frontLight / Gen2 front) cameras.<id>.wallwasher_enabled // Wallwasher (Gen1) / Top-Down-Strip (Gen2) cameras.<id>.light_enabled // legacy — bleibt als kombinierter SchalterDamit kannst du in Blockly / JS einen Master-Datenpunkt anlegen, der bei Dämmerung alle vier Wallwasher gleichzeitig schaltet — ohne die Frontlampen mit anzufassen. Funktioniert auf Gen1 (via
PUT /lighting_overridemit beiden Flags einzeln steuerbar) und Gen2 (separatePUT /lighting/switch/front+/topdown). Hab gegen meine Terrassen-Gen2 getestet: front an / wallwasher aus geht sauber, combinedlight_enabledflippt erst wenn beide an sind.Drei import-fertige Blockly-Vorlagen für genau diesen Use-Case (Master-Schalter, Dämmerungs-Auto via Astro, Hue-PIR-Bridge) hab ich gleich mit ins Repo gelegt:
https://github.com/mosandlt/ioBroker.bosch-smart-home-camera/tree/main/docs/blockly-examples
Workflow: javascript-Adapter → Scripts → neues Blockly-Skript → XML-Icon → einfügen →
<CAM_UUID>durch deine UUIDs ersetzen → Save + Run.2. Event triggern per Datenpunkt ✅
cameras.<id>.motion_trigger // button, write-only cameras.<id>.motion_trigger_event_type // selector: motion / person / audio_alarmWorkflow: setze erst das
motion_trigger_event_typeauf den gewünschten Typ (default "motion"), dann schreibemotion_trigger = true. Der Adapter setztlast_motion_at = now()+last_motion_event_type = <gewählter Typ>und resettet den Button automatisch zurück. Genau dasselbe Signal wie ein echtes Bosch-Motion-Event, deine bestehenden Skripte auflast_motion_atreagieren also identisch.Damit kannst du jetzt deinen Hue-Bewegungsmelder weiter unten in der Einfahrt nutzen um die Cam-Eskalation früher zu starten. Vorlage
hue-pir-to-bosch-motion.xmlist im Blockly-Ordner.3. RTSP 24/7 für BlueIris ✅
Watchdog drin — die LOCAL-Session wird automatisch ~60 s vor Ablauf des Bosch
maxSessionDurationerneuert, ohne dass der Stream amrtsp://127.0.0.1:PORT/rtsp_tunnelunterbrochen wird. BlueIris sieht keinen stündlichen Reconnect mehr.Wichtige Designentscheidung dazu: der Adapter macht niemals Cloud-Relay-Fallback für Streams oder Snapshots. Wenn die Kamera auf dem LAN nicht erreichbar ist, kommt eine klare Fehlermeldung — kein stiller Fallback auf Bosch-Cloud-Proxies. War mir wichtig: lokale Kameras bleiben lokal, Datenverkehr verlässt nicht ungefragt das Heimnetz.
Sonstiges
- FCM-Push ist weiter im Polling-Modus (30 s Latenz).
- Token-Refresh beim Adapter-Start läuft jetzt sauber über den Refresh-Token; kein "No PKCE verifier"-Crash mehr nach längerem Stopp.
Roadmap v0.5.0+: Motion-Zonen + Privacy-Masken read/write, dann Mini-NVR mit Pre-Roll-Ring-Buffer.
Update via GitHub-eigene-Quelle / npm — und melde dich wenn was klemmt.
Was wäre dir als nächstes wichtig? Damit das Ding wirklich rund wird:
a) VIS-2-Widget mit echtem Live-Stream statt nur Snapshot — go2rtc/HLS-Bridge eingebaut, Klick im Dashboard öffnet sofort Video
b) Event-Historie als Sensor — letzte N Events pro Cam mit Zeitstempel + Typ, für Logik-Skripte und Auswertung
c) Notification-Routing direkt im Adapter — Telegram/Pushover/Signal-Bot bei Motion ohne eigene Skripte
d) Mehr Blockly-Vorlagen für andere Use-Cases — sag welche
e) was anderes — sag'sGruß
Thomas -
Ich hab gerade 0.4.0 getestet. Wallwasher an/aus geht. Beim Privacy Mode habe ich noch festgestellt, wenn ich über iobroker auf true setze und über die App die Cams wieder aktiviere, bleibt der DP auf true. Wenn ich einen motion trigger auslöse wird in der App keine Aufnahme angelegt. Der Zeitstempel im IOB aktualisier sich, aber sonst passiert nichts. Und wie ich den RTSP Stream in BlueIris empfangen kann müsstest du mir nochmal erklären. BlueIris und IOB laufen auf getrennten Systemen. Über die local host IP kann ich ja nur auf dem IOB Host zugreifen. Wie kriege ich den Stream ins Netzwerk bei mir?
-
Habe versucht den Stream in den Cameras Adapter einzubinden, aber bekomme folgende Fehlermeldung beim Verbindungstest: rtsp://127.0.0.1:43047/rtsp_tunnel: Server returned 401 Unauthorized (authorization failed)
Außerdem ändert sich der Port regelmäßig in der Stream URL. In der Cameras Config muss ich den Port aber fest vergeben. Wie löse ich das am besten?

-
Habe versucht den Stream in den Cameras Adapter einzubinden, aber bekomme folgende Fehlermeldung beim Verbindungstest: rtsp://127.0.0.1:43047/rtsp_tunnel: Server returned 401 Unauthorized (authorization failed)
Außerdem ändert sich der Port regelmäßig in der Stream URL. In der Cameras Config muss ich den Port aber fest vergeben. Wie löse ich das am besten?

Hi Jaschkopf,
Danke fürs detaillierte Testen — alle drei Punkte habe ich in v0.5.1 (jetzt Beta) angefasst:
Privacy-Sync App → ioBroker
Adapter pollt jetzt alle 30 s/v11/video_inputsund spiegeltprivacyModezurück nachcameras.<id>.privacy_enabled. Wenn du in der App reaktivierst, springt der DP innerhalb von 30 s auffalse.Motion-Trigger ohne App-Aufnahme
Das ist by design und ich habe es jetzt klarer dokumentiert.motion_triggersetzt nurcameras.<id>.last_motion_at+last_motion_event_type— gedacht als Brücke für ioBroker-Automationen (Licht, Szene, Push) die auf Bosch-Motion lauschen. Eine Aufnahme in der Bosch-App kann der Adapter nicht auslösen — das entscheidet ausschließlich die Cloud-Motion-Engine auf der Kamera, und es gibt keine API, um das von außen zu triggern. Wenn du Aufnahmen vom Hue-PIR willst, müsstest du in ioBroker selbst aufzeichnen (z. B. FFmpeg-Snapshot oder die geplante Mini-NVR in v0.7.0).BlueIris auf separatem Host → 401 + wechselnder Port
Drei Ursachen, alle gefixt:- 401 Unauthorized: Der RTSP-Endpunkt verlangt Digest-Auth. Die alte URL
rtsp://127.0.0.1:PORT/rtsp_tunnelhatte keine Credentials. Neu:cameras.<id>.stream_urlenthält jetzt User+Password im URL-Formatrtsp://<user>:<pass>@host:port/rtsp_tunnel?inst=1&enableaudio=1&fmtp=1&maxSessionDuration=3600. BlueIris akzeptiert das direkt. - Wechselnder Port: Der Watchdog hat bei jeder Session-Erneuerung (~1 h) den TLS-Proxy gestoppt und neu gestartet → neuer Port. Neu: Port ist sticky pro Kamera, persistiert in
cameras.<id>._proxy_port, überlebt Renewals und Adapter-Restarts. - Zugriff von anderem Host: Standardmäßig bindet der Proxy nur auf
127.0.0.1— von BlueIris auf einem anderen Rechner unerreichbar. Neuer Admin-Tab „RTSP / Stream": Checkbox „Expose RTSP proxy to LAN" anhaken + LAN-IP des ioBroker-Hosts eintragen (z. B.192.168.1.50). Dann steht instream_urldirekt die externe URL, die du in BlueIris kopierst.
Setup für deinen Fall:
- Auf v0.5.1 aktualisieren
- Admin → Tab „RTSP / Stream" → „Expose RTSP proxy to LAN" anhaken
- „External hostname / LAN IP" = LAN-IP deines ioBroker-Hosts
- Speichern → Adapter restartet
- In ioBroker den State
cameras.<deine-cam-id>.stream_urlkopieren (enthält dann user:pass und ext-IP) - In BlueIris als RTSP-Quelle einfügen — keine separaten Credentials-Felder nötig
Außerdem gibt's in v0.5.1 noch zwei neue Features:
- Sirene (Gen2):
cameras.<id>.siren_active—trueschreibt den 75-dB-Panic-Alarm scharf,falsesilenct ihn (gleicher Endpunkt wie die offizielle App). - RGB-Wallwasher (Außenkamera II):
cameras.<id>.wallwasher_color(HEX#RRGGBB, leer = warmweiß) +cameras.<id>.wallwasher_brightness(0..100). Steuert top+bottom LEDs gemeinsam; das Frontlicht bleibt unberührt.
Release: https://github.com/mosandlt/ioBroker.bosch-smart-home-camera/releases/tag/v0.5.1
Falls BlueIris noch Probleme macht: gib mir bitte den genauen Verbindungsfehler aus dem BlueIris-Log, dann schauen wir weiter.
Viele Grüße
- 401 Unauthorized: Der RTSP-Endpunkt verlangt Digest-Auth. Die alte URL
-
UPDATE: Wenn ich die Stream URL mit VLC-Player öffne bekomme ich den Stream rein. Dann muss scheinbar was mit den BlueIris settings noch nicht passen
Hi @Jaschkopf,
genau das ist ein bekanntes BlueIris-Verhalten: VLC akzeptiert
rtsp://user:pass@host/...direkt, BlueIris zieht die Credentials zwar in seine Felder, sendet sie aber dann nicht zuverlässig im RTSP-Digest-Challenge mit. Ergebnis:Error 8000007a (CheckPort/User/Password)→ "NoSignal". Auf <ipcamtalk.com> gibt's mehrere Threads dazu, und der Fix ist immer derselbe.Lösung für BlueIris:
- In das Adressfeld nur den URL ohne
user:pass@eintragen, z. B.:rtsp://192.168.x.x:54321/rtsp_tunnel?inst=1&enableaudio=1&fmtp=1&maxSessionDuration=3600 - Username und Passwort in die separaten BlueIris-Felder "Username" und "Password" eintragen (genau die Digest-Credentials aus der ioBroker stream_url, die hinter
rtsp://und vor dem@stehen). - RTSP Authentication = Digest setzen (nicht "Auto", nicht "Basic").
Damit sollte's laufen — die Logik dahinter ist, dass BlueIris die In-URL-Credentials parst, aber im DESCRIBE/SETUP-Handshake nur die Felder seines eigenen Config-Dialogs verwendet.
Bonus: gerade neu in v0.5.2 (beta) released — der neue Livestream-Schalter
cameras.<id>.livestream_enabled(Default AUS). Bisher hat der Adapter pro Kamera beim Start eine 24/7 LOCAL-Session + TLS-Proxy + RTSP-Watchdog aufgemacht — auch wenn niemand zuschaut, kostet das täglich Quota. Ab v0.5.2 ist Streaming explizit Opt-in:trueschreiben →PUT /v11/.../connection, Proxy startet,stream_urlwird gesetzt, Watchdog läuft.falseschreiben → Watchdog stoppt, Proxy beendet,DELETE /connection,stream_urlleer.
Snapshots laufen unverändert (kurzlebige Session, nach dem JPEG sofort wieder zu).
Update via
iobroker upgrade bosch-smart-home-camera— 0.5.2 ist auf npm. Release Notes: https://github.com/mosandlt/ioBroker.bosch-smart-home-camera/releases/tag/v0.5.2Viele Grüße
Thomas - In das Adressfeld nur den URL ohne
-
Kann man vielleicht den Stream mit niedriger Bandbreite simultan ausgeben? Also pro Kamera zwei Stream URLs, quasi einen Mainstream mit hoher Bitrate und einen Substream mit niedriger Bitrate (und niedrigerer Auflösung???) BlueIris unterstützt diese Prinzip um die CPU Last zu reduzieren. Der schlechte Substream wird analysiert bis was passiert (motion) und schaltet dann auf den Mainstream um und zeichnet diesen auf.
-
Machen die Sonderzeichen im User/Pass vielleicht probleme wenn BlueIris die URL wieder zusammensetzt?
Hi @Jaschkopf,
danke fürs Dranbleiben — Posts 17 + 18 (Authentifizierung-Setting nicht gefunden, Sonderzeichen-Verdacht) haben mich nochmal dazu gebracht, das Problem an der Wurzel zu fixen statt eines Workarounds.
v0.5.3 (Beta) ist gerade raus und behebt deinen Fall direkt: https://github.com/mosandlt/ioBroker.bosch-smart-home-camera/releases/tag/v0.5.3
Was ist neu
1. TLS-Proxy macht jetzt die Digest-Auth selbst. Die
cameras.<id>.stream_urlist ab v0.5.3 eine saubere URL ohne Credentials:rtsp://192.168.x.x:54321/rtsp_tunnel?inst=1&enableaudio=1&fmtp=1&maxSessionDuration=3600Keine User/Pass mehr in der URL. Der Adapter-Proxy fängt die
401-Challenge der Kamera selbst ab, rechnet den Digest-Hash, injiziert denAuthorization-Header und schluckt das401, bevor dein Client es überhaupt sieht. BlueIris bekommt direkt200 OKund muss gar nichts mehr authentifizieren. Sonderzeichen-Problem und das fehlende "RTSP Auth = Digest"-Setting sind damit aus der Welt.2. Sub-Stream-URL für deinen BlueIris-CPU-Wunsch aus Post 16. Neuer Datenpunkt
cameras.<id>.stream_url_sub— gleiche Bosch-Session, gleicher Proxy, gleiche Kostenstelle, nur mitinst=2(niedrigere Bitrate). Mainstream für Aufnahme, Substream für die Anzeige:rtsp://192.168.x.x:54321/rtsp_tunnel?inst=2&enableaudio=1&fmtp=1&maxSessionDuration=3600Experimentell — hängt davon ab, ob die Gen2-Eyes-Firmware
inst=2wirklich serviert. Bitte testen und Feedback geben, dann weiß ich, ob ich's als stable markieren kann.3. Bonus: Auto-Snapshot bei Bewegung. Bei jedem FCM-Motion-/Person-/Audio-Event holt der Adapter automatisch ein frisches JPEG und legt es als Base64-String in
cameras.<id>.last_event_imageab. Damit kannst du in Blockly bei Motion direktnotify.telegram/signal/ etc. triggern und das Bild mitsenden — ohne extra Snapshot-Trigger-Script. Default an, Opt-out im neuen Admin-Tab "Events / Notifications".4. Snapshot-Session-Keep-Alive (60s). Falls deine Card oder Automation öfter snapshot_trigger setzt — der Adapter hält die Bosch-Session jetzt warm und reused sie statt jedes Mal neu zu öffnen. Erster Snap ~1-2s, alle weiteren in der 60s-Window ~200ms.
5.
cameras.<id>.motion_active— Boolean-DP, true bei Motion, auto-false nach 90s. Sauberer Trigger für Blockly.Update
iobroker upgrade bosch-smart-home-cameraDann BlueIris-Kamera entfernen und neu anlegen mit der frischen
stream_url(ohne User/Pass im Adressfeld, keine Credentials in irgendein BlueIris-Feld eintragen, RTSP-Auth auf "None" oder Default lassen). Sollte einfach funktionieren.Falls's nicht klappt: bitte den Adapter-Log mit
debug-Level posten (info→debugin der Instance-Config), die ZeileRTSP auth EF791764: ...zeigt, in welchem State der Proxy hängt.Viele Grüße
Thomas
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
