NEWS
Netatmo Adapter und Presence-Kamera - keine Erkennung der sub event type's human, vehicle, animal, unknown
-
Hallo Sascha,
ohne dass das jetzt komisch klingt aber mit einem kleinen Script (Blockly) sollte das doch machbar sein. Ich habe das zumindest mal kurz nachgestellt (die Profis unter den Programmierern mögen es mir bitte nachsehen)
Ich würde wie folgt vorgehen :
-
3 Datenobjekte manuell anlegen (Video1, Video2, Video3 vom Typ Zeichenkette)
-
im Script einen Trigger auf Änderung der LastEventID (LastEventData-> LastEventID) der dann folgende Schritte durchführt:
Schritt 1: Steuere "Video3" mit Wert von "Video2"
Schritt 2: Steuere "Video2" mit Wert von "Video1"
Schritt 3: ermitteln der "video_url" aus letztem Event und schreiben in Objekt "Video1". Dies habe ich mit einem kleinen eingebundenen Javascript "Video1" gemacht.
Das sieht dann als Blockly-Script mit kleinem Javascript ungefähr so aus:
Das gelbe Feld "Text zu Sprache" bitte ignorieren
Das Javascript "Video1" ermittelt den Objektpfad zur Video URL des letzten Events und sieht so aus:
var LastEventID; LastEventID = getState("netatmo.0.Home.LastEventData.LastEventId").val; setState("netatmo.0.Home.Events.Video1"/*Video1*/, getState("netatmo.0.Home.Events."+LastEventID+".video_url").val);
Die Pfade müsstest du auf deine Bedürfnisse anpassen ("netatmo.0.Home" ist die Konfiguration bei mir).
Zumindest funktioniert dies in meinem kleinen Test und ist dir erstmal ein weiterer Ansatz. Die Video-URL's sind natürlich noch extern. Dies auf die internen URL's anzupassen sollte aber möglich sein. Ich kann es nur gerade nicht testen.
VG
Thomas
-
-
Hallo Thomas,
SUPER ANSATZ! DANKE!
Der logische Weg mit Blocky fiel mir nicht ein, da ich in dem Bereich noch wenig Erfahrung habe.
Habe die 3 Datenpunkte manuell angelegt. (In welchem Verzeichnis hast Du diese hinzugefügt? (vermute in "Netatmo.0.Home.Events.Video1" richtig?
Habe auch in Blocky das Script nachgebaut und Dein Java Script versucht anzupassen.
-> Läuft leider noch nicht.
Ich vermute, dass bei Dir der Objekt-Baum anders aufgebaut ist.
Wie du unten an meinem sehen kannst, liegt "LastEventData" bei mir im Verzeichnis "Netatmo.0.Home.LastEventData"
Bei Dir scheint es im Verzeichnis "Netatmo.0.Home.LastEventData" - seltsam, dass es da Unterschiede gibt…
Daher wird auf Bewegung hin zwar schon mal in den Objekten etwas ausgelöst, aber noch keine Daten, sondern nur der State "false"
Muss meine Objekte scheinbar analog zu Deinem setup nochmal anlegen.
Gruß Sascha
2009_netatmo_tree.png -
Kommando zurück, habe meinen Denkfehler gefunden.
Habe nun die 3 manuellen Objekte wie Du unter "Events" angelegt.
Ein Problem habe ich jedoch gefunden. Wenn ein Event die Kamera auslöst, startet die Aufzeichnung (glaube default 30Sek)
Erst nach der Fertigstellung der Aufnahme wird in dem Event-Objekt eine Video-Url angegeben. Zuvor existiert das Objekt Video URL noch nicht.
Somit schlägt das Script bei mir fehl und ich bekomme nur "null" im State….
-
Wird denn die video_id sofort erzeugt oder auch erst später zusammen mit der video_url? Kann das gerade nicht nachstellen.
-
Es wird sofort bei Event ein Subfolder in den Events angelegt.
Soweit ich das bisher nachvollziehen konnte, sind alle
Objekte darin mit Ausnahme des Objekts Video URL.
Ich versuche das am Nachmittag nochmals nachzuvollziehen.
-
Wenn die video_id sofort erzeugt wird dann könnte man die URL schon soweit bestimmen auch ohne den Eintrag im Objekt video_url.
-
Jetzt machst Du mich neugierig!
Die Event ID ist ja automatisch der Name des automatisch generierten Subfolder unter Events.
Ich habe mir mal die Video-URLs bestehender Aufzeichnungen angesehen.
Beispiel:
! https://v1.netatmo.net/restricted/10.25 … local.m3u8
! Die Event ID dazu ist: 5a4e080dae4763dd2f8b47c8Ich kann mir gerade nicht erklären, wie Du das umsetzen möchtest??? :shock:
Könnte man im Script nicht einfach eine Verzögerung einbauen, dass wenn LastEventID wird geändert -> 35Sek Pause -> dann URL grabbing?
-
Unter den jeweiligen Events wird bei mir neben der "video_url" auch noch ein Objekt "video_id" gefüllt. Die "video_id" ist Teil der "video_url". Die Idee ist, wenn die "video_id" sofort mit der entsprechenden ID des Videos gefüllt werden würde, dann kann man die endgültige URL auch via Script herleiten. Ansonsten müssten man wirklich im Script irgendwie eine Schleife o.ä. einbauen.
-
Und wieder danke!
Du hast Recht, in den Objekten ist zusätzlich noch das Objekt "video_ID" und diese matched zu den personalisierten Teil der Video URL.
-
So, nochmals kurz Zeit gefunden zu testen durch hin und her flitzen vor der Cam.
Ergebnis: schlecht!
Video_ID erscheint nicht bei Event, sondern auch erst nachdem die Aufzeichnung fertig ist.
Video_status zeigt in der Zwischenzeit: recording
Somit müssten wir eine Verzögerung einbauen in dem Blocky Script.
Habe bisher noch kein passendes Puzzleteil in Blocky gefunden und bin für Tips dankbar.
2009_cam_event.png -
Dann wäre es vielleicht sinnvoller die letzten 3 Event-ID's jeweils in einem separatem Objekt zu sichern und dann jede Minute ein Script laufen zu lassen was dann zu den jeweiligen Event-ID's die Video-URL's schreibt?!?
-
Hallo zusammen,
habe nur unwesemtliche Fortschritte gemacht.
Gestern wurde die 2. Presence montiert und in VIS eingebunden.
1 Widget für Screenshot (aktuallisiert beim Wechsel auf den View)
1 Dialog-Widget welches mir nach dem öffnen den Stream der Kamera starten lässt (lokal)
Diese 2 Widgets sind in VIS jeweils pro Kamera vorhanden.
Themen: Reagieren auf Events und Anzeige der letzten 3 Aufnahmen pro Kamera muss noch etwas warten. Leider zeitlich etwas eng im Moment.
@Thomas - nochmals vielen Dank! Ohne Deine Hilfe wäre ich gar nicht soweit gekommen.
-
Da mich deine Idee mit den letzten drei Events auch interessiert hat, habe ich folgendes gemacht.
1. 3 Datenobjekte (Typ Zeichenkette) für die EventID's (Event1 bis Event3) angelegt
2. 3 Datenobjekte (Typ Zeichenkette) für die VideoURL's (Video1 bis Video3)angelegt
Mit folgendem Script werden die Event-ID's in die Datenpunkte (s. P. 1) geschrieben.
Im zweiten Teil läuft jede Minute ein JS-Script welches zu den im Punkt 1 gespeicherten Event-ID's die jeweilige Video-URL aus den Objekten liest, konvertiert und in die Objekte (s.P.2) schreibt.
var KameraIP; var Key1; var LastEventID1; var LastEventID2; var LastEventID3; KameraIP="192.168.x.x"; //hier die lokale IP-Adresse der Kamera einsetzten Key1= "abcdefgh12345"; //hier den Key1 eintragen LastEventID1 = getState("netatmo.0.Home.Events.EventID1").val; LastEventID2 = getState("netatmo.0.Home.Events.EventID2").val; LastEventID3 = getState("netatmo.0.Home.Events.EventID3").val; setState("netatmo.0.Home.Events.Video1", "http://" + KameraIP + "/" + Key1 + "/vod/" + (getState("netatmo.0.Home.Events."+LastEventID1+".video_id").val) + "/files/high/index.m3u8"); setState("netatmo.0.Home.Events.Video2", "http://" + KameraIP + "/" + Key1 + "/vod/" + (getState("netatmo.0.Home.Events."+LastEventID2+".video_id").val) + "/files/high/index.m3u8"); setState("netatmo.0.Home.Events.Video3", "http://" + KameraIP + "/" + Key1 + "/vod/" + (getState("netatmo.0.Home.Events."+LastEventID3+".video_id").val) + "/files/high/index.m3u8");
Hier müsstest du jeweils nur die Variablen KameraIP und Key1 mit deinen Werten ändern. Ggf. müsstest du die letzten drei Zeilen noch auf deinen "Objektbaum" anpassen. Zum Schluss steht in allen drei "Video-Objekten" die passende lokale URL der jeweiligen letzten 3 Events. Vielleicht nicht optimal, aber läuft
Diese drei Objekte kannst du dann in den VIS-Widgets verwenden. Kleiner Hinweis, solltest du in den Widgets eine URL und kein Datenobjekt angeben können, dann einfach bei URL den Pfad zum Objekt angeben und mit einer geschweiften Klammer versehen. Bei mir steht im Widget als Dialog URL: {netatmo.0.Home.Events.Video1}.
Danke Sascha für die Idee und eine schönen Sonntag
-
Hallo
Ich habe das Problem mit meiner Presence das sie sich ab und zu neu mit meinem WLAN verbindet und dann eine neu IP hat.
Habe auch schon über meine Fritzbox eine fixe IP vergebe aber klappt auch nicht.
Wenn sie sich neu verbindet hat sie wieder eine andere IP.
Hat jemand einen Tipp was ich da machen kann?
-
Hi Du, also gerade bei der Fritzbox sollte es leicht und dauerhaft möglich sein, ihr aufgrund der Mac Adresse eine feste IP zuzuordnen. Das funktioniert im Regelfall ohne Probleme. Prüfe doch bitte nochmal deine Einstellungen der Fritzbox.
Wegen WLAN muss ich zustimmen, dass die Presence, scheinbar aufgrund des Metallgehäuses nicht die beste WLAN Leistung hat. Ich habe daher einen Accesspoint näher zur Kamera versetzt
Gesendet von iPhone mit Tapatalk Pro
-
ihr aufgrund der Mac Adresse eine feste IP zuzuordnen. Das funktioniert im Regelfall ohne Probleme `
Deswegen habe ich mir auch die Fritzbox zugelegt#ich habe auch noch ca. andere Geräteeingebunden und da geht es.
@Bradock:Ich habe daher einen Accesspoint näher zur Kamera versetzt `
Hatte ich auch schon an drei verschiedenen Positionen probiert aber immer wieder das selbe!
Ich probiere es noch mal.
Den TP-Link TL-WA850RE WLAN Repeater werde ich dann ca. 3m neben der Presence einstecken.
Die Kamera neu verbinden…
eine neu IP zuweisen und dann noch mal neu starten....
-
Ich war auch erst zufrieden, nachdem ich den AP ca. 5m entfernt hatte. Der deckt jetzt 2 Cams ab
Gesendet von iPhone mit Tapatalk Pro
-
Hallo Sascha.
VIS habe ich nicht im Einsatz. Dazu kann ich leider nichts sagen. Allerdings nutze ich den Livestream im YAHKA-Adapter für das Apple Homekit. Dies funktioniert seit einigen Wochen soweit problemlos. Ich verwende hierzu einfach den Link aus dem Livestream Objekt (hab die genaue Bezeichnung gerade nicht vor mir) und habe diesen wie in folgender Anleitung abgeändert: https://www.symcon.de/forum/threads/307 … ome-Kamera. Mit diesem Link sollte dann auch die Einbindung in VIS sicherlich möglich sein. Zumindest geht dieser (lokale) Link im Browser, jeweils in der gewünschten Bandbreite/Qualität.
Um die Events zu unterscheiden habe ich mir mittlerweile selbst versucht zu helfen und habe ein bisschen das Script im Netatmo-Adapter modifiziert. Ich hoffe, dass solche Modifikationen überhaupt erlaubt sind und ein Programmierer bin ich erst recht nicht. :roll: Immerhin habe ich es aber geschafft einen zusätzlichen Datenpunkt "LastEventSubType" (unter "LastEventData") zu erstellen, welcher bei Erkennung mit dem jeweiligen Subtype "human, animal, vehilce" gefüllt wird. Darauf möchte ich in Zukunft dann mit weiteren Aktionen reagieren, je nachdem was die Kamera erkennt. Geplant ist zum Beispiel ein Signalton auszugeben wenn die Überwachung aktiviert ist und eine "human" erkannt wird Erstmal bin ich noch am testen…
Ich hoffe ich konnte dir ein klein wenig weiterhelfen.
VG
Thomas `
Hallo zusammen,
hallo Thomas!
Ich bin noch neu was ioBroker angeht, hatte bisher lange mit Homebridge zu tun und sämtliche Homematic Komponenten, Philips HUE und Funksteckdosen via HTTP Befehlen gesteuert. Jetzt wollte ich mich mal ioBroker widmen.
Ich verwende auch seit längerem die Netatmo Presence, habe leider immer mal wieder Probleme mit Apple Homekit, so dass ich jetzt via Yahka die Einbindung durchführen wollte. Leider will das nicht so recht, habe im Forum Deinen @ThomasLPZ Beitrag gelesen, dass Du dies erfolgreich geschafft hast. Daher meine Frage, wie genau Du in Yahka das eingerichtet hast? Kannst Du da ggf. ein paar Screenshots der genutzten Einstellungen posten?
Den lokalen Stream hatte ich mir auch schon vor einiger Zeit geholt, da ich über Homematic und einer Anwesenheitserkennung die Kamera zeitlich de- bzw. aktiviere. Per VLC kann ich also auch schon auf den Stream zugreifen bzw den Snapshot.
Für eine Hilfestellung (Presence ins apple homekit via Yahka) wäre ich sehr dankbar.
Viele Grüße
Jens
-
Hallo Jens,
leider kann ich dir keine Einstellungen mehr schicken. Seit der Freigabe von Netatmo die Presence direkt ins Homekit einzubinden verwende ich diese nicht mehr über den YAHKA-Adapter. Dies läuft bei mir auch soweit ohne Probleme (Firmware der Presence aktuell 131). Wenn ich mich recht erinnere, habe ich damals im YAHKA einfach ein Gerät der Kategorie "Camera" verwendet und die lokale Livestream-URL eingetragen. Dies kann ich aber leider nicht mehr nachvollziehen. Macht denn bei dir die Homekit-Einbindung tatsächlich so viele Probleme?
Gruß
Thomas
-
Hallo Thomas,
vielen Dank erstmal für die superschnelle Rückantwort
Die Erstinstallation der Netatmo Presence (Dez'17) verlief super und ich hatte mich damals auch als Beta-Tester für die Homekit-Integration angemeldet. Das funktionierte auch, bis irgendwie verschiedene Probleme (auch bei anderen Usern) wie Schlieren, Ausfälle etc auftraten, so dass ich mal ein Zurücksetzen der Einstellungen vollzogen hatte. Danach war die Homekit Integration zwar auch wieder gegeben, jedoch hatte ich nach kurzer Zeit keine Aktualisierung mehr des Snapshots in Homekit. Also wollte ich wieder zurücksetzen, das hat jedoch nicht so richtig funktioniert (Erkennung des Codes lange nicht geklappt); jetzt läuft sie zwar und ist über die eigene App erreichbar, aber ich würde gern wieder die Homekit Integration irgendwie erreichen und da kam mir der Gedanke an ioBroker, Yahka.
Wahrscheinlich wäre der rote Reset-Code der richtige Weg, aber die Cam hängt in 4m Höhe und mit Leiter immer davor rumhampeln hatte ich bisher nicht die Lust drauf
Aber ich versuche mal Deine Idee, ggf. klappt das ja auch.