Arlo

Aus FHEMWiki
Version vom 9. März 2019, 21:33 Uhr von Maluk (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{Infobox Modul|Arlo |ModPurpose=Einbindung von Arlo Kameras |ModType=d |ModCmdRef=Arlo |ModForumArea=Sonstige Systeme |ModFTopic=94025 |ModTechName=49_Arlo.pm…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Arlo
Zweck / Funktion
Einbindung von Arlo Kameras
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Thema
Support (Forum) Sonstige Systeme
Modulname 49_Arlo.pm
Ersteller maluk
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!

Arlo Sicherheitskameras von Netgear über die Arlo Cloud gesteuert. Diese kann über eine REST-API angesprochen werden und liefert Ereignisse (wie z.B. erkannte Bewegungen oder sonstige Statusänderungen) über Server-Sent Events (SSE) zurück. Dieses Modul verwendet diese API und bietet sowohl die Möglichkeit, die Kameras über FHEM zu steuern als auch Statusänderungen der Kameras in FHEM mitzubekommen. Damit kann z.B. auf Bewegungserkennung der Kameras in FHEM reagiert werden.

Unterstützte Kameras

Folgende Arlo-Geräte können mit dem Modul angesprochen werden:

  • Wifi-Kameras mit Basisstation: Arlo / Arlo Pro / Arlo Pro 2
  • Kameras ohne separate Basisstation: Arlo Baby / ArloQ
  • Arlo Lights (werden über eine Bridge angesteuert)

Voraussetzungen

Die FHEM-Standardinstallation und eine Internetverbindung werden für das Funktionieren des Moduls benötigt. Das Modul wird als offizielles Modul per update verteilt und muss nicht extra installiert werden.

Anwendung

Define

Zunächst muss die Verbindung zur Arlo Cloud hergestellt werden. Dies erfolgt in FHEM mit folgendem Befehl:

define Arlo_Cloud Arlo ACCOUNT hans.mustermann@xyz.de meinPasswort

hans.mustermann@xyz.de durch die E-Mail-Adresse ersetzen, mit der man bei Arlo registriert ist, meinPasswort durch das Passwort dort.

Nach der erfolgreichen Definition des Account kann auf dem neu erzeugten Device set Arlo_Cloud autocreate aufgerufen werden. Dies legt die Basistationen, Bridges, Kameras und Lights an, die dem Arlo Account zugeordnet sind. Die neuen Devices befinden sich initial im Raum Arlo. Je nach Device werden verschiedene Sub-Typs angelegt, die nachfolgende beschreiben sind.

Sub-Typ ACCOUNT

Hier handelt es sich um das Device, das die Verbindung zur Cloud hält und manuell erzeugt wird (s.o.) Folgende set-Commands sind für diesen Sub-Typ möglich:

  • autocreate: Liest alle dem Arlo-Account zugeordneten Geräte und legt dafür FHEM-Devices an, falls es diese nicht schon gibt.
  • reconnect: Neuaufbau der Verbindung zum Arlo-Server. Zunächst loggt sich FHEM neu bei Arlo ein, danach wird die SSE-Verbindung aufgebaut. Wird nur benötigt, falls unerwartete Verbindungsabbrüche auftreten.
  • updateReadings: Aktuelle Daten aller Basisstationen und Kameras aus der Cloud abrufen. Dies passiert einmal stündlich automatisch, falls dies nicht durch Setzen des Attributes disabled=1 am Cloud-Device unterbunden wird. Den Abruf-Intervall kann man durch Setzen des Attributs updateInterval anpassen (Angabe von Sekunden, also z.B. 600 für Abruf alle 10 Minuten oder 7200 für Abruf alle 2 Stunden).

Folgende Attribute können für dieses Device gesetzt werden:

  • downloadDir: falls dieses Attribut gesetzt ist, werden Dateien, die in der Arlo Cloud erzeugt werden (Videos / Bilder) in das hier angegebene Verzeichnis heruntergeladen. Damit man auf die Dateien über http zugreifen kann, muss ein Verzeichnis unterhalb /opt/fhem/www angegeben werden (oder dieses selbst). Wichtig: der fhem-User muss in in diesem Verzeichnis Schreibrechte haben.
  • downloadLink: falls über das Attribut downloadDir die Dateien ins lokale Verzeichnis heruntergeladen werden, kann über dieses Attribut angegeben werden, dass die in den Kameras gesetzten Links auf die lokale Kopie zeigen sollen. Die Angabe des Links muss in der Form http://hostname:8083/fhem/unterverzeichnis-unter-www angegeben werden.
  • disable: deaktiviert die Verbindung zur Arlo-Cloud.
  • pingInterval: setzt das Intervall in Sekunden, wie häfuig ein Heartbeat-Ping gesendet wird. Ohne den Heartbeat-Ping würde die Session ablaufen und es könnten keine Events mehr empfangen werden. Standard ist 90.
  • updateInterval: setzt das Intervall in Sekunden, wie häufig die Readings der Basisstationen und Kameras abgefragt werden. Standard ist 3600 = 1 Stunde.
  • ssePollingInterval: setzt das Intervall in Sekunden, wie häufig die SSE Events abgefragt werden sollen. Standard ist 2 Sekunden.

Sub-Typ BASESTATION

Basisstationen werden für die Steuerung der Wifi-Kameras Arlo, Arlo Pro und Arlo Pro 2 benötigt. Folgende set-Command sind für Devices dieses Sub-Typs möglich:

  • arm: Aktivieren der Bewegungserkennung für die Wifi-Kameras
  • disarm: Deaktivieren der Bewegungserkennung für die Wifi-Kameras
  • mode: benutzerspezifischen Modus setzen. Während arm i.d.R. die Bewegungserkennung aller Kameras aktiviert, können mittels einem benutzerspezifischen Mode nur einzelne Kameras aktiviert wreden.
  • siren: Ein- bzw. Ausschalten der Siren, die in die Basisstation eingebaut ist (on/off).
  • subscribe: Basisstation für die SSE-Schnittstelle registrieren. Muss normalerweise nie manuell aufgerufen werden, da dies beim Login automatisch passiert.
  • unsubscribe: Registrierung einer Basisstation für die SSE-Schnittstelle rückgängig machen.

Als Attribut kann nur disable gesetzt werden. Wenn dieses Attibut auf 1 gesetzt wird, wird die regelmäßige Abfrage der Readings aus der Arlo Cloud für diese Basisstation deaktiviert.

Sub-Typ CAMERA

Devices mit dem Sub-Typ CAMERA werden für Wifi-Kameras angelegt. Folgende set-Commands sind hier möglich:

  • on: Kamera einschalten (Privacy-Mode deaktivieren)
  • off: Kamera ausschalten (Privacy-Mode aktivieren)
  • brightness: Anpassung der Helligkeit (mögliche Werte: -2, -1, 0, 1, 2
  • snapshot: ein Standbild aufnehmen. Dieses kann über die URL aus dem Reading snapshotUrl aufgerufen werden. Damit der Befehl funktioniert, muss die Kamera den Status on haben.
  • startRecording: Aufnahme starten. Damit der Befehl funktioniert, muss die Kamera den Status on haben.
  • stopRecording: Aufnahme stoppen. Die Aufnahme kann über lastVideoUrl abgerufen werden, das Standbild dazu unter lastVideoThumbnailUrl.

Außerdem ist es mittels des get-Commands recording möglich, die Liste aller Recordings eines Tages im JSON-Format abzurufen. Dieses Ergebnis kann z.B. in Tablet UI integriert werden (Abruf über JavaScript).

Sub-Typ ARLOQ

Kameras vom Typ ArloQ sind kabelgebunden und vereinen die Funktion einer Wifi-Kamera und einer Basisstation. Daher sind für diesse Kameras folgende set-Commands möglich (Detail-Erklärung s.o.):

  • arm (siehe Basisstation)
  • disarm (siehe Basisstation)
  • subscribe (siehe Basisstation)
  • unsubscribe (siehe Basisstation)
  • brightness (siehe Kamera)
  • snapshot (siehe Kamera)
  • startRecording (siehe Kamera)
  • stopRecording (siehe Kamera)

Sub-Typ BABYCAM

Baby Cams sind wie ArloQ kabelgebunden und haben diesselbe Funktion wie ArloQ. Zusätzlich sind noch folgende set-Commands möglich:

  • nightlight: Nachtlich ein- oder ausschalten (on/off)
  • nightlight-brightness : Helligkeit des Nachtlichts anpassen
  • nightlight-color: Farbe des Nachtlichts anpassen

Sub-Typ BRIDGE

Eine Bridge wird für Arlo Lights benötigt und hat 2 mögliche set-Commands:

  • arm: Aktivieren der Bewegungserkennung für die Arlo Lights
  • disarm: Deaktivieren der Bewegungserkennung für die Arlo Lights
  • mode: benutzerspezifischen Modus setzen (siehe Basisstation)

Sub-Typ LIGHT

Arlo Lights untersützen folgende set-Commands:

  • on: Einschalten des Lichts.
  • off: Ausschalten des Lichts.

Anwendungsbeispiele

Man kann die Überwachung der Kameras durch die Kommandos arm und disarm (s.o.) über FHEM ein- und ausschalten. Dies kann mit z.B. mit dem Presence-Modul kombiniert werden: wenn niemand im Haus ist, werden die Kameras aktiviert, wenn jemand nach Hause kommt deaktiviert.

Die Kameras und Lights können zur Bewegungserkennung verwendet werden. Hierzu gibt es an den Kamera- und Lights-Devices ein Reading motionDetected, das immer auf 1 gesetzt wird, wenn Bewegung erkannt wird. Durch Definition eines Notify kann auf die Bewegung reagiert werden (z.B. ein Licht einschalten).

Durch das Herunterladen des letzten Thumbnail und Video können die Kameras gut in Tablet UI integriert werden (immer letztes Thumbnail anzeigen). Außerdem können auch ältere Videos abgerufen werden (siehe get recordings beim Sub-Typ Kamera).

Links

Bekannte Probleme

Manchmal werden Statusänderungen / Bewegungen nicht erkannt. Dies kann auch die Video- und Snapshot-Aufnahmen betreffen.