Kurzes Update:
Habe mich jetzt wieder (etwas) in Perl eingearbeitet und mich auch durch das Wiki zur Modul-Programmierung gearbeitet und mit den Modulen angefangen. Folgendes ist aktuell schon möglich.
Modul 73_eufySecurity, 73_eufyCamera, 73_eufyStation
Man kann für die Anmeldung eine E-Mail als Attribut hinterlegen und ein Passwort angeben (wird leider noch nicht dauerhaft über Restart FHEM gesichert) und sich damit anmelden. Dann funktioniert schon der Abruf der Hubs, Devices und der Historie. Bei den Devices werden dann auch schon automatisch Geräte für die Kameras angelegt, falls diese noch nicht existieren (Module 73_eufyCamera). Der Name einer Kamera ist dann eufyCamera_seriennummer. Als alias wird dann aber der Name gesetzt, den man über die App für die Kamera vergeben hat.
Pro Kamera kommen so 55 Attribute mit, von dehnen ich aktuell 22 als Readings anzeige. Ein paar der Attribute enthalten dann weitere Listen, wie z.B. params. Unter params werden dann noch mal ca. 60 Parameter für eine Kamera zurückgegeben. Manche Parameter werden bei mir auch nur für eine Kamera zurück geliefert.
Hier wäre es gut, wenn ihr das auch mal analysieren würdet und sagen könntet, was wofür ist und was wichtig wäre, dies auch am Gerät zu hinterlegen und anzuzeigen.
Die Liste der Hubs und die Historie werden aktuell noch nicht ausgewertet. Da schreibe ich nur was ich bekomme ins Log. Für eine Analyse würde das ja auch reichen.
Für erste Tests könnte ich die Module zur Verfügung stellen. Aber Achtung das hat noch nicht einmal Beta-Status. Ich habe FHEM schon öfters zum Absturz, bzw. Restart gebracht. Das lag dann zwar immer an Bugs im Code aber trotzdem sollte man das nicht auf seiner produktiven Umgebung testen.
Was mir auch noch Kopfzerbrechen bereitet ist die P2P-Verbindung für erweiterte Funktion. Scheinbar benötigt man die normale Verbindung über die Web-API aber trotzdem. Habe mir mal dem Python Code angesehen, werde aber daraus nicht schlau. Vielleicht findet ja jemand von euch noch was, wo das Protokoll detaillierter beschrieben ist, damit man es einfacher in Perl implementieren kann.
Eventuell sollten wir uns auch Gedanken darüber machen, ob das Forum hier der richtige Platz ist, um während der Entwicklung Infos und Versionsstände der Module auszutauschen. Was da etwas taugt, da habe ich absolut keine Erfahrungen. Vorschläge?