FHEM Moduls for eufySecurity devices
Für die Installation einfach die drei Module 73_eufySecurity.pm, 73_eufyStation.pm und 73_eufyCamera.pm und das FHEM-Verzeichnis (/opt/fhem/FHEM) kopieren.
Falls die Module spätere nicht erkannt werden, dann noch einen Restart von FHEM durchführen.
Zuerst muss ein eufySecurity-Gerät angelegt werden.
define myEufy eufySecurity
Dem Gerät wird dann automatisch dem Raum eufySecurity zugewiesen. Das kann aber nachträglich wieder geändert werden.
Danach müssen noch die E-Mail und das Passwort für für den eufy Security Account hinterlegt werden.
attr myEufy mail irgendenwas@domain.tld
set myEufy password geheim
Hinweis: Ich hatte irgendwo gelesen, dass es sinnvoll ist, für den Zugriff über die API einen eigenen Account anzulegen, da sich sonst Zugriffe über die API und die APP gegenseitig blockieren.
Nachdem alle alle Vorbereitungen abgeschlossen sind, kann mit dem nachfolgenden Kommando eine Verbindung über die Web-API aufgebaut werden.
set myEufy connect
Wurde die Verbindung erfolgreich aufgebaut, dann sollte STATE auf connect wechseln, ansonsten in das Logfile für einen Fehler schauen.
Nun können mit den nachfolgenden Kommandos die bekannten Geräte ermittelt und angelegt werden.
Mit dem Kommado get myEufy Hubs
wird die Liste der bekannten Stations über die Web-API abgefragt und die bekannten Geräte sollten dann automatisch angelegt werden.
Beim ersten Aufruf wird aktuell nur das Gerät ohne weitere Informationen angelegt. Wird das Kommando erneut aufgerufen, werden auch die Readings mit den Werten zu dem Gerät angelegt.
Wird eine Station nicht automatisch angelegt, kann das auch manuell erfolgen. Siehe Modul eufyStation DEFINE.
Mit dem Kommado get myEufy Devices
wird die Liste der bekannten Kameras über die Web-API abgefragt und die bekannten Geräte sollten dann automatisch angelegt werden.
Beim ersten Aufruf wird aktuell nur das Gerät ohne weitere Informationen angelegt. Wird das Kommando erneut aufgerufen, werden auch die Readings mit den Werten zu dem Gerät angelegt.
Wird eine Kamera nicht automatisch angelegt, kann das auch manuell erfolgen. Siehe Modul eufyCamera DEFINE.
Damit der GuardMode für eine Station gesetzt werden kann, müssen ein paar Vorbedingungen erfüllt sein.
Sind die Vorbedingungen erfüllt, kann über das Station-Gerät eine P2P-Verbindung mit set station_name connect
aufgebaut werden. War das erfolgreich wechselt das Reading _p2pstate auf connect.
Jetzt kann der GuardMode für die Station mit set station_name GuardMode mode_name
gesetzt werden.
Das ist das zentrale Modul. Es baut eine Verbindung über die Web-API zum eufy Security Server auf, um dort Daten zu den bekannten Geräten abzufragen.
Außerdem stellt das Modul eine P2P-Verbindung zu jeder bekannte Station her.
define <name> eufySecurity
Diese Modul steuert Stations oder integrierte Stations einer Kamera.
Aktuell werden folgenden Stations/Geräte unterstützt.
Device_TYPE | NAME |
---|---|
0 | HomeBase 2 |
30 | Indoor Camera |
31 | Indoor Pan & Tilt Camera |
Normalerweise werden die Geräte per Auto-Create über das eufySecurity-Gerät angelegt. Bei Probleme kann das Gerät wie folgt auch manuell angelegt werden.
define <name> eufyStation <device_type> <serial_number>
update Update der Daten der Station über die Web-API. Wurde noch keine Verbindung über die Web-API zuvor hergestellt, dann wird zuerst automatisch ein connect ausgeführt.
DskKey
Aktuell nur zum debugging implementiert. Sollte nicht genutzt werden! Entfällt in der finalen Version des Moduls.
alias Wird beim Update automatisch mit dem Namen gesetzt, der in der Eufy-App für diese Station hinterlegt ist.
userGuardModes Hier können benutzerspezifische GuardModes definiert werden. Der Aufbau ist "num:name". num ist eine Zahl, die über das Reading _guardmode ermittelt werden kann. name ist ein benutzerspezifischer Name für diese Mode. Mehre Modes können durch ein ; getrennt werden.
Beispiel: 4:Day;3:Night
Über das Attribut können auch Default-Modes umbenannt werden. z.B. Hat HOME den Wert 1. Mittel "1:Zuhause" wird dann immer Zuhause statt HOME angezeigt.
Das Modul ist für die Kameras zuständig. Aktuell sind für die Kameras keine sinnvollen Funktionen implementiert.
Es werden nur aktuelle Werte der Kamera als Reading dargestellt.
Aktuell werden folgenden Kameras unterstützt.
Device_TYPE | NAME |
---|---|
1 | Camera |
7 | Battery Doorbell |
8 | eufyCam 2C |
9 | eufyCam 2 |
14 | eufyCam 2C |
15 | eufyCam 2 C Pro |
30 | Indoor Camera 2k |
31 | Indoor Pan & Tilt Camera |
33 | Solo Cam Pro |
Normalerweise werden die Geräte per Auto-Create über das eufySecurity-Gerät angelegt. Bei Probleme kann das Gerät wie folgt auch manuell angelegt werden.
define <name> eufyCamera <device_type> <serial_number>
alias Wird beim Update automatisch mit dem Namen gesetzt, der in der Eufy-App für diese Station hinterlegt ist.
icon Wird beim Define automatisch mit _itcamera vorbesetzt.
room Wird beim Define automatisch mit eufySecurity vorbesetzt.
userReadings
battery { ReadingsVal($NAME,"battery_level",0) > 10 ? "ok" : "low"} Das Reading battery wird automatisch beim Define angelegt. Damit kann der Akku der Kamera in eine automatische Überwachung der Batterien integriert werden.