Sonoff Cam PT2 sleep mode

Ich habe jetzt eine Sonoff Cam PT2 per ONVIF in meinenden HA eingebunden. Und ich bin etwas enttäuscht / genervt, dass man den sleep Mode nicht ansteuern kann. Eine entsprechende Entität fehlt. Den Kamerakopf per PTZ in eine entsprechende Position zu bewegen ist nur eine minderwertige Lösung, weil der eigentliche Schlafmodus damit ja nicht erreicht wird. Hat die Community eine Schlaue Idee oder einen Hack parat?

Da wird es wohl keinen “Hack” geben. Welche Features mit der Kamera per Onvif zur Verfügung stehen ist ja hier beschrieben

und selbst wenn Sonoff diesen Sleep Mode bei Onvif implementiert hätte, bzw. implementieren würde, so wird er von der HA Onvif Integration nicht unterstützt.

Eine Aussage von Sonoff dazu lautet wohl: “it’s a specific feature developed in the eWeLink app.”

VG Jim

Inzwischen habe ich für mich einen Workaround geplant und tlw. umgesetzt, der mehrere Probleme löst. Bei mir läuft auch weiterhin die eWeLink.app. Ich habe vor einer Steckdosenleiste, an der Bildschirm, Scanner und Drucker hängen, eine Sonoff Steckdose gesetzt. Diese Geräte ziehen unnötig Strom, wenn ich nicht zu Hause bin. Im HA ist die neuere eWeLink smart home Anwendung eingebunden.

In HA wird bei Abwesenheit (Verlassen der homezone) durch eine Automation die Sonoff Steckdose aus- und bei Anwesenheit wieder angeschaltet. Das spart Strom. In der eWeLink.app weckt eine Automation die Kameras aus dem Schlafmodus, wenn die Sonoff-Steckdose ausgeschaltet wird. Wird sie durch HA wieder angeschaltet, werden durch eine weitere Automation in der eWeLink.app die Kameras Schlafen geschickt.

Hey Community! :waving_hand:

Ich habe meine Sonoff CAM-PT2 vollständig lokal in Home Assistant integriert — inklusive Privacy Mode, PTZ, Presets, Bildeinstellungen, Audio, Bewegungserkennung, Aufnahme und mehr. Kein Cloud-Zwang, kein manuelles YAML!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DAS PROBLEM MIT DER ORIGINAL-FIRMWARE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Einige Steuerbefehle (z.B. Privacy Mode, Presets) werden von der eWeLink-App an die Cloud gesendet, die sie dann als Kommandos zurück zur Kamera weiterleitet. Eine vollständig lokale Steuerung ist mit der Original-Firmware daher nicht möglich.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DIE LÖSUNG: THINGINO FIRMWARE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Thingino ist eine Open-Source-Firmware, die die Original-Firmware ersetzt und die Cloud-Abhängigkeit vollständig entfernt. Meine Kamera ist im Router komplett vom Internet geblockt — alles funktioniert trotzdem einwandfrei.

Thingino bietet:

  • MQTT-Unterstützung
  • REST API (curl + API Key)
  • RTSP / ONVIF
  • Und vieles mehr

Das ermöglicht vollständige Kamerasteuerung aus HA — vollständig lokal, keine Cloud!

Hinweis: Der “echte” Privacy Mode der Original-Firmware (Objektiv fährt in Abdeckposition) wird nicht exakt repliziert. Thingino hat einen Privacy Mode, der das Bild komplett schwarz macht. In Kombination mit einem Preset (Kamera weggedreht + Mikrofon deaktiviert) ist das ein guter Ersatz.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SCHRITT 1 — THINGINO FLASHEN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Das Video im Repository erklärt den Flash-Vorgang — pretty straightforward.

:warning: WICHTIG: Die Original-Firmware wird beim Flashen als Backup auf die SD-Karte geschrieben. Diese Backup-Dateien unbedingt sichern — sie enthalten gerätespezifische Keys!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SCHRITT 2 — MQTT BROKER EINRICHTEN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Es wird ein MQTT Broker benötigt, der sowohl von der Kamera als auch von Home Assistant erreichbar ist. Mosquitto ist die gängigste Wahl.

  • Docker: viele Anleitungen online verfügbar
  • Home Assistant OS / Supervised: Mosquitto direkt als Add-on installieren

Danach die MQTT-Integration in HA einrichten und mit dem Broker verbinden.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SCHRITT 3 — THINGINO MQTT SUBSCRIPTION KONFIGURIEREN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Im Thingino Web UI unter Services → MQTT Subscriptions eine Subscription hinzufügen:

Topic: %hostname/cmd (oder ein eigener Name wie Cam01/cmd)
QoS: 0
Action: eval $MQTT_PAYLOAD

Der Platzhalter %hostname wird automatisch durch den Hostnamen der Kamera ersetzt. Bei einem eigenen Topic wie Cam01/cmd heißen die Entities in HA dann “Cam01 Brightness”, “Cam01 Motion Detection” usw.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SCHRITT 4 — RTSP / ONVIF AKTIVIEREN (optional)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Im Thingino Web UI unter Settings → RTSP/ONVIF Access ein Passwort setzen. Dann die Kamera in HA als ONVIF-Integration hinzufügen — der Livestream ist danach direkt im Dashboard verfügbar.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SCHRITT 5 — AUTO-DISCOVERY SCRIPT INSTALLIEREN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Hier passiert die Magie. Statt YAML manuell zu schreiben, erkennt ein Script auf der Kamera automatisch alle verfügbaren Features und Hardware und registriert sie als Entities in Home Assistant via MQTT Discovery — keine Konfiguration auf der HA-Seite notwendig.

Das Script ist aktuell in meinem GitHub Repo gehostet und befindet sich noch in aktiver Entwicklung. Ich plane, es als Pull Request direkt ins Thingino-Projekt einzureichen — der Installationspfad kann sich daher noch ändern. Im Thingino Repo auf Updates achten.

Per SSH in die Kamera einloggen — das Passwort ist dasselbe wie beim Thingino Web UI Login:

ssh root@KAMERA-IP

Dann diesen einzelnen Befehl ausführen:

wget -O /usr/sbin/thingino-ha-discovery.sh https://raw.githubusercontent.com/AsDinFlames/thingino-mqtt-ha-discovery/main/thingino-ha-discovery.sh \
  && chmod +x /usr/sbin/thingino-ha-discovery.sh \
  && /usr/sbin/thingino-ha-discovery.sh \
  && printf '#!/bin/sh\ncase "$1" in\n  start) sleep 10 && /usr/sbin/thingino-ha-discovery.sh &;;\nesac\n' > /etc/init.d/S99ha-discovery \
  && chmod +x /etc/init.d/S99ha-discovery

Das war’s. Alle Entities erscheinen automatisch in Home Assistant und registrieren sich bei jedem Boot neu.

Das Script erkennt und publiziert dynamisch:

  • Schalter: Privacy, IR Cut, IR-/Weißlicht, Status-LED, Farbmodus, Bild spiegeln, Mikrofon, Bewegungserkennung, Aufnahme, Timelapse
  • Buttons: Tag-/Nachtmodus, Neustart, PTZ-Richtungen, PTZ-Presets (Laden/Speichern/Löschen)
  • Schieberegler: Helligkeit, Kontrast, Sättigung, Schärfe, WDR, Rauschunterdrückung, alle Audio-Einstellungen, Bewegungsempfindlichkeit, Aufnahme-Einstellungen und mehr
  • Auswahlfelder: Anti-Flicker, Weißabgleich-Modus, Mikrofon-Codec, Abtastraten

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
BEKANNTE PROBLEME
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  • Den Mikrofon-Schalter mehr als zweimal umlegen bringt prudynt zum Absturz — mit dem Reboot-Button in HA wiederherstellen. Das ist ein Thingino/prudynt-Bug, hoffentlich in einem zukünftigen Release behoben.
  • Force Stereo Toggle verursacht durch den Audio-Thread-Neustart ein kurzes Knacken — am besten ausgeschaltet lassen.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FEEDBACK & FRAGEN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Ich habe noch nicht jeden einzelnen Befehl getestet — Feedback, Bugreports und Beiträge sind herzlich willkommen, entweder hier oder direkt auf GitHub!

Habe mich für einen repost entschieden, da es ggf. sehr kompliziert aussieht - ist es aber eigentlich nicht :slight_smile:

Voraussetzungen

  • MQTT Broker (z.B. Mosquitto) via Docker oder HA Addon installiert und mit HA-Integration verbunden

1. Thingino Firmware installieren

Video-Guide: https://www.youtube.com/watch?v=82s4WcsuUYc

  1. firmware.zip aus dem Thingino Repo herunterladen und auf eine FAT32 SD-Karte kopieren
  2. Kamera starten und Video-Guide folgen
  3. Im Web-UI das Passwort setzen (= SSH-Passwort)

2. Web-UI Konfiguration

Services → MQTT Subscriptions

  • “Launch MQTT service on boot” aktivieren
  • Verbindung zum MQTT Broker herstellen
  • Subscription hinzufügen:
    • Topic: %hostname/cmd
    • QoS: 0
    • Action: eval $MQTT_PAYLOAD

Settings → RTSP/ONVIF

  • Passwort setzen

3. Script installieren

ssh root@KAMERA-IP

SSH-Passwort = Web-UI Passwort

curl -o /usr/sbin/thingino-ha-discovery.sh https://raw.githubusercontent.com/AsDinFlames/thingino-mqtt-ha-discovery/main/thingino-ha-discovery.sh \
  && chmod +x /usr/sbin/thingino-ha-discovery.sh \
  && /usr/sbin/thingino-ha-discovery.sh \
  && printf '#!/bin/sh\ncase "$1" in\n  start) sleep 10 && /usr/sbin/thingino-ha-discovery.sh &;;\nesac\n' > /etc/init.d/S99ha-discovery \
  && chmod +x /etc/init.d/S99ha-discovery

Fertig! Alle Entities tauchen automatisch in HA auf. Die Kamera kann danach vom Internet getrennt werden.