NEWS
Netatmo Adapter und Presence-Kamera - keine Erkennung der sub event type's human, vehicle, animal, unknown
-
Zumindest auf dem Android Tab sollte es mit der VIS App genauso funktionieren. Alternativ den Fully Kiosk Browser nutzen `
Danke der funktioniert sehr gut!!Aber am Win Tap habe ich noch nichts gefunden das es ein Win 8 ist und für Win 10 nicht geeignet.
Aber ich grüble weiter.
Natürlich wäre mir noch lieber wenn den Livestream immer laufen würden!
Nun habe ich zwei Kameras und muss immer hin und her schalten.
Ich möchte noch zwei Kameras dazu geben und dann ein eigenes View machen wo die Kameras laufen.
Aber mal sehen.
-
Hallo Thomas…
grundsätzlich möchte ich gerne 2 Dinge erreichen.
-
bei Event sollte in VIS der View auf die Camera Seite wechseln (nach 2 Minuten wieder zurück zum Homescreen)
-
möchte ich, wie schon oben beschrieben die letzten 3 Events /Videos jeweils in der Kamera-Seite angezeigt bekommen. Wenn ein 4. Event kommt, soll es das älteste überschreiben.
Gruß Sascha
Gesendet von iPhone mit Tapatalk Pro `
Hallo Sascha,
bist du schon weitergekommen? Nur so rein gefragt aus Interesse
VG
Thomas
-
-
Hallo Thomas,
leider noch nicht wirklich. Arbeite ja seit 2.1. schon wieder
Mein Problem ist, dass ich noch keinen Weg finden konnte, wie ich in den Objekten prüfe, wenn neue Events angelegt werden.
Im angehängten Bild sieht man ja, dass der Adapter im Falle eines Events, einen neuen Unterodner anlegt (unter Events).
Dieser Unterordner enthält dass mehrere Objekte, welche man dann nutzen könnte.
Problem: Wie überwache ich den Objektordner "Events" auf Veränderung / Neueinträge?
Danach sollte man sicherlich die Daten aus den neuen Objekten
a) Auslesen und Anzeigen lassen können
b) Die dort benannte Video URL per Script konvertieren, dass diese auf die lokale Video-Sourcen zugreift
Da hänge ich aktuell und suche nach Support von der Community.
Hoffentlich kann mir jemand einen Wg zeigen, dass zu überwachen und dann Folgeaktionen zu triggern.
Gruß Sascha
2009_netatmo_events.png -
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