NEWS
Test Adapter onvif camera v1.x.x
-
@tombox Hallo Tom,
ich bin gerade ein bisschen am verzweifeln, weil nichts klappt.
Erstmal dein Adapter, tolle arbeit, wäre froh auch sowas zu können. Aber nun zu meinem Problem, Ich bin seit ein Paar Wochen schwer am kämpfen und habe auch schon einiges hinbekommen in IO Broker und Vis.
Ich habe schon verschiedene Sachen visualisiert, nur wo ich nicht weiterkomme sind meine Kameras. Das sind so Chinateile ohne Cloud. Sie werden auch alle brav erkannt nur bekomme ich kein Bild angezeigt. Die Kameras liefern einen rtsp Stream den ich auch mit dem VLC Player anzeigen kann. In der V380 pro App werden sie alle mit IP und Port ohne Username und Passwort angezeigt und das wurde auch in die Objekte eingetragen. Ich komme aber einfach nicht weiter. Vielleicht kann mir ja Jemand oder auch du in einzelnen Schritten erklären wie ich das Bild in der Vis angezeigt bekomme. Wäre Super
Gruß Peter
P.S. Ich arbeite im Moment an einem Linux Ubuntu PC ganz neu installiert, sollte also überall die aktuellsten Versionen drauf sein. Die Vis zeige ich über die IOBrokervis app über ein Android Pad an. -
@huhsoft Diese art von Konfiguration hast du gemacht?
https://gist.github.com/SolveSoul/9be5d9599c8b4b59f7cfa4cd0ce79c9cwird denn laut log eine snapshot url gefunden?
-
@huhsoft Da Browser von Haus aus kein RTSP anzeigen können, muss man einen Zwischenschritt machen. Der könnte sein:
- Über den ONVIF adapter Snapshots abrufen, ca. alle 200 - 300 ms, sollte man laut Tombox Anleitung nicht machen
- Den RTSP Stream in ein für Browser verständliches Format wandeln, z.B. mpeg mit Motioneye oder ähnlichem.
Oder 3. (so mache ich es mittlerweile) mit Tasker:
Sobald die Kamera eine Bewegung registiert wird die über den ONVIF Apadter gemeldet. Damit erzeuge ich einen WebHook an Tasker. Der starte bei mir dann für 2 Minuten Tinycam Monitor Pro auf meinem Tablet und kehrt danach zum Wallpanel zurück.Für mich ist die 3. Lösung am stabilsten und muss keine CPU Resourcen für Motioneye oder andere Tools verwenden, nur um ein Kamerabild zu bekommen.
-
@tombox In den Kameras sind schon micro SD Karten drin. Muss ich dann das mit der Datei kopieren auch machen oder geht das so. Ich muss dazu sagen, ich bin Laie und kenne mich nicht sehr gut aus, geschweige dann kann ich programmieren, Bin froh dass ich so weit gekommen bin. Aber wie gesagt, es geht nicht mehr weiter.
Ich habe jetzt noch gesehen dass ich den Kameras unterschiedliche User und Passwörter vergeben habe. Das habe ich nun gleich gemacht, und wie gesagt SD Karten sind drin. Die Kameras werden dann auch alle erkannt und eingetragen.
Im Protokoll kommen auch soweit ich das sehe keine Fehler.
Wo muss ich nun was eintragen, welches Widget nehme ich, wenns geht bitte verständlich für einen Laien, der dem englischen auch nicht sehr bewandert ist. Ich hoffe ich nerve nicht zu sehr. -
@huhsoft
Wenn du onvif.0.IP_PORT.remote.snapshot auf true setzt wird dann der Datenpunkt onvif.0.IP_PORT..snapshot gefüllt? -
@tombox
Danke für das Update. Nun wird der Snapshot angezeigt. Allerdings die Kamera findet er nur manuell, automatisch geht das nicht (nur ein Hinweis, ist natürlich nicht so schlimm).
Noch ein Hinweis bei den Objekten. Bei den Events werden nun keine NAmen mehr angezeigt. Ist bei Skripten halt dann schwer zu erkennen. Anbei ein Bild.
-
@randyandy ist in der GitHub version gefixt
-
@tombox gibt es eine Liste der unterstützen Kameras? Onvif alleine ist es dann wohl nicht, denn die Tapos können zwar Onvif aber eben kein Standbild. Gibt es da was günstiges für indoor, was du empfehlen kannst?
-
@chrga Ja im Prinzip sind es alle Kameras.
Es ist Schade das Tapo als einzige keine Snapshot haben.
Könnte man nur via ffmpeg machen ich schaue mal via ffmpeg was man machen kann -
-
ich verwende nun seit einigen Tagen Deinen Adapter und ich muss sagen Hut ab. Das ist ein Adpater der wirklich gefehlt hat. Der vorherige Adpater war ein Ansatz aber schlicht nicht zu Ende geführt.
Was noch nicht richtig funktioniert ist das abfangen von Events. Ich habe wie erwähnt mehrere Kameras. Bei einem Event einer der Kameras löse ich einen Snaphot aus. Da der Platz auf einer VIS Seite limitiert ist, würde ich gerne den letzten und den vorletzen Snapshot einer der 6 Kameras anzeigen. Es scheint aber so, dass eine Kamera in sehr kurzer Folge Events auslöst, sodass der letzte und vorletzte Snapshot immer von der gleichen Kamera sind. Es wäre hilfreich wenn in den Objekten eine Zeitinformation des letzten Event hinterlegt werden könnte, dann könnte man das im Skript abfragen und dann den Event innerhalb eines Zeitfensters ignorieren. Ich habe versucht das mit einem Boolean abzufangen, da scheint aber nicht wirklich zu funktionieren. Ich denke das wäre sehr hilfreich. Noch besser wäre es eine Art Timer (in ms) zu definieren, mit dem man einstellen kann wie lange Events als ein Event erkannt werden und in diesem Zeitfenster werden alle Event ignoriert. -
@randyandy also die Objekte haben das schon native
letzter timestamp obj.state.ts
letzte änderung obj.state.lcdie kann man gegen Date.now() vergleichen
-
@tombox
ok, das war mir gar nicht bewußt, das jedes Objekt einen Zeitstempel hat.
Das sehe ich mir im Detail an.
Danke -
funktioniert, vielen Dank, aber habe dennoch viele Fehlermeldungen beim starten.
Und er findet nicht alle Cam´s, es fehlt noch die mit der IP 192.168.0.85. Hat die selben Einstellungen wie die anderen.
-
@chris76e
Da war ein wenig ram verfügbar auf welchem system läuft es?
81-83 sind keine Kameras?
192.168.0.85 wird nicht via discovery entdeckt wie sieht der log aus wenn du die ip manuell suchst. -
@tombox sagte in Test Adapter onvif camera v1.0.0:
Da war ein wenig ram verfügbar auf welchem system läuft es?
Läuft in einer VM in Proxmox auf einen Intel NUC. Ist eigentlich genug RAM vorhanden.
@tombox sagte in Test Adapter onvif camera v1.0.0:
81-83 sind keine Kameras?
Das sind NAS Laufwerke
@tombox sagte in Test Adapter onvif camera v1.0.0:
192.168.0.85 wird nicht via discovery entdeckt wie sieht der log aus wenn du die ip manuell suchst.
-
Habe den IP berreich von 192.168.0.84-86 suchen lassen.
Jetzt wo nur 0.85 angegeben ist wird sie gefunden.
-
@chris76e Ok sehr komisch warum es sich nicht Discovery lässt.
Kannst deine logs wieder löschen -
@tombox sagte in Test Adapter onvif camera v1.0.0:
Snapshot Server in vis einbinden
Der Adapter bietet ein Snapshot Server ohne Passwort an. Dazu Server aktivieren in den Instanzeinstellungen und dann kann der aktuelle Snapshot http://iobrokerIp:8095/CAMERAIP_PORT z.B. http://192.168.0.1:8095/192_168_0_1_80 abgerufen werden.
In der Vis ein Image Widget einfügen und die Url als Quelle angeben und eine Updatezeit auswählenich hätte noch eine Frage zum Server. Ich vermute mal, dass der ioBroker Server verwendet wird (würde ja auch Sinn machen, denn nicht jeder setzt auf dem ioBroker einen eigenen Web-Server auf).
Liegen die Images dann in einem Ordner oder verweist Du auf einen Datenpunkt in dem Fall den Snapshot Datenpunkt mit den Bild-Informationen ? -
@randyandy Der adapter öffnet ein web server. Dabei werden die Bilder direkt von der Kamera an den Webserver geleitet ohne das Bilder gespeichert werden