Modul für Netgear Arlo-Kameras

Begonnen von maluk, 02 Dezember 2018, 22:20:58

Vorheriges Thema - Nächstes Thema

mi.ke

Zitat von: mi.ke am 22 Dezember 2018, 16:34:59

Allerdings werden keinerlei Readings mehr aktuallisiert. Weder bei den Kameras noch bei den Bases.
In LOG wird das Modul angeblich neu gestartet "(Re)starting Arlo event listener."


Zitat von: maluk am 23 Dezember 2018, 12:02:17
Das war ein Bug, den habe ich gerade behoben habe. Das updateInterval an der Basestation kannst du löschen, das hat keine Auswirkung auf die Funktionsweise des Moduls.

Das sieh mal richtig gut aus.

Mal schauen wie stabil es sich nach der DSL-Zwangstrennung verhält. Einen Neustart des Routers hat es schon überstanden  8)
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

maluk

Zitat von: m0urs am 23 Dezember 2018, 13:20:04
Also, ein Autocreate nach dem Neustart reicht aus. Danach lassen sich wieder Arm/Disarm-Befehle korrekt absetzen und diese werden auch korrekt umgesetzt. Die xCloudId ändert sich aber nach einem Autocreate nicht. Ich schicke Dir gleich ausführlichere Logs per PN.

Ich habe eine neue Version hochgeladen, die immer nach dem Einloggen alle Device liest (also das, was Autocreate auch tut). Damit solltest du jetzt keine Probleme mehr haben, wenn du dich mit deinem Neben-Account in FHEM anmeldest.

m0urs

Zitat von: maluk am 23 Dezember 2018, 16:55:07
Ich habe eine neue Version hochgeladen, die immer nach dem Einloggen alle Device liest (also das, was Autocreate auch tut). Damit solltest du jetzt keine Probleme mehr haben, wenn du dich mit deinem Neben-Account in FHEM anmeldest.

Vielen Dank, ein erster schneller Test scheint das zu bestätigen! Was auch immer hier im Hintergrund anders läuft! Die Test wegen der Lichter versuche ich morgen noch hinzukriegen!

m0urs

Ein Problem, von dem ich schon mal berichtet hatte, besteht aber immer noch:

Wenn in einem Modus der Base-Station ein Arlo Light enthalten ist, welches in dem Modus auch geschaltet werden soll, dann wird das Schalten in diesen Modus nicht ausgeführt. Nimmt man das Licht aus dem Mode heraus, dann geht es wieder. Im FHEM-Log kommt auch mit Verbose=5 kein Eintrag beim "Set ...mode=". Was bräuchtest Du an weiteren Informationen?

dinkel75

Zitat von: maluk am 14 Dezember 2018, 16:33:51
Ich habe selbst keine Babycam, daher benötige ich deine Unterstützung. Gehe auf https://arlo.netgear.com und melde dich dort an. Gehe zu deiner Kamera und aktiviere die Entwickler-Tools in deinem Browser (F12) und schneide den Netzwerkverkehr mit. Wenn du Licht und Musik ein- und ausschaltest, müssten POST-Requests erzeugt werden. Hier benötige ich die URLs die aufgerufen werden und die Parameter, die per POST an den Server übertragen werden. Dann kann ich die Funktionen in mein Modul übernehmen.

Kannst du mir das bitte nochmal erklären, mit dem HTTP Traffic mithorchen?
Verwende Chrome und das Entwicklertool hab ich offen. Weiß dann aber nicht was ich weiter machen soll und in welchem Menü.

Danke!

maluk

Im Register Network wird der Netzwerk-Traffic protokolliert. Dort kannst du den Filter auf XHR setzen, damit nur die REST-Aufrufe angezeigt werden. Relevant sind die Aufrufe, die im Headers-Tab als Request Method POST stehen haben. Ich benötige die Request URL und den Request Payload (alles im Tab Headers neben dem angeklickten Request, Beispiel-Screenshot siehe Anhang).


dinkel75

Modus kann ich nicht umstellen! Gibts da noch einen Bug?
LG

maluk

Bei welchem Device funktioniert das Setzen des Modus nicht? Bei Basisstationen funktioniert das eigentlich ohne Probleme.

maluk

Ich habe eine neue Version hochgeladen. Folgende neue Funktionen sind enthalten:

  • Bei Kameras und Lights gibt es jetzt ein neues Reading motionDetected, das auf 1 gesetzt wird, wenn Bewegung erkannt wird.
  • Für Lights werden jetzt die Readings state (Licht an/aus), batteryLevel, activityState und chargingState gesetzt.
  • Bei Kameras gibt es eine neue Funktion "get readings". Als Parameter muss ein Datum im Format JJJJMMTT (also z.B. 20181227 für den 27.12.2018) übergeben werden. Die Funktion liefert alle Aufnahmen des Tages für die Kamera im JSON-Format zurück. Falls die Antwort FHEM-intern verwendet werden soll, kann sie mit decode_json wieder in ein PERL-Array umgewandelt werden.

mi.ke

    Zitat von: maluk am 27 Dezember 2018, 10:09:59
    Ich habe eine neue Version hochgeladen. Folgende neue Funktionen sind enthalten

    Danke Dir, dazu auch gleich Fragen:

    Zitat von: maluk am 27 Dezember 2018, 10:09:59
    • Bei Kameras und Lights gibt es jetzt ein neues Reading motionDetected, das auf 1 gesetzt wird, wenn Bewegung erkannt wird.

    Was ist dabei der Unterschied zu activityState ?

    Zitat von: maluk am 27 Dezember 2018, 10:09:59

    • Bei Kameras gibt es eine neue Funktion "get readings". Als Parameter muss ein Datum im Format JJJJMMTT (also z.B. 20181227 für den 27.12.2018) übergeben werden. Die Funktion liefert alle Aufnahmen des Tages für die Kamera im JSON-Format zurück. Falls die Antwort FHEM-intern verwendet werden soll, kann sie mit decode_json wieder in ein PERL-Array umgewandelt werden.

    Gibt mit doch bitte mal nen Tipp:
    Was kann man den mit der Info in JSON-Format anfangen?
    Ich sehe als PopUp nur einen langen String mit hohem Lesewiderstand.

    Grüße

    mi.ke

    FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
    2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
    FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

    maluk

    Du kannst in einer eigenen Methode z.B. die Video-URLs auslesen. Hier ein Beispiel:

    sub Recording() {
      my $json = fhem("get Arlo_Kamera_Name recordings 20181227");
      my @recordings = @{decode_json($json)};
      foreach my $rec(@recordings) {
        Log 3, "Video $rec->{video}";
      }
    }


    Zusätzlich zu video gibt es noch die Felder thumbnail und time.

    Vorteil einer JSON-Antwort ist, dass man sie direkt in JavaScript verarbeiten kann. Wenn du z.B. die Arlo-Kamera in Tablet UI eingebunden hast, kannst du dir die Recordings für einen Tag holen und die Antwort in JavaScript auswerten.

    dinkel75

    #101
    Hab eine alte Basisstation, da klappt das mit der Mode Umstellung nicht.

    Gelöst: hatte eine alte .pm!

    Funktioniert jetzt prächtig!

    dinkel75

    Das mit dem get Record schaff ich auch nicht :-(
    Hab zwar jetzt das Sub in 99_myUtils.pm drinnen, aber wie schaffe ich es jetzt die einzelnen Videos als Readings zu der Kamera hinzu zufügen. Das ist zwar wahrscheinlich eine Frage fürs Anfänger-Forum aber ich hoffe, Ihr helft trotzdem!

    maluk

    Zitat von: mi.ke am 27 Dezember 2018, 10:54:18
    Was ist dabei der Unterschied zu activityState ?

    Die Frage hatte ich noch nicht beantwortet: motionDetected reagiert etwas schneller. activityState zeigt an, ob gerade aufgenommen wird, motionDetected ist nur für die Bewegungserkennung.

    m0urs

    Zitat von: m0urs am 23 Dezember 2018, 20:44:37
    Ein Problem, von dem ich schon mal berichtet hatte, besteht aber immer noch:

    Wenn in einem Modus der Base-Station ein Arlo Light enthalten ist, welches in dem Modus auch geschaltet werden soll, dann wird das Schalten in diesen Modus nicht ausgeführt. Nimmt man das Licht aus dem Mode heraus, dann geht es wieder. Im FHEM-Log kommt auch mit Verbose=5 kein Eintrag beim "Set ...mode=". Was bräuchtest Du an weiteren Informationen?

    Das scheint mir der letzten Version nun auch zu funktionieren!