[Modul] ONVIF Profil-S und T für IP-Kameras und Encoder

Habe mich oben vertan. Es ist eine IN-9020. Die ist gar nicht in der Datenbank aufgeführt habe ich gerade gesehen, obwohl sie die ONVIF Funktion hat. Was ist das den für ein Mist.

Das verstehe ich dennoch nicht. Die 3 Encoder Instanzen sind zum Testen angelegt (sollte ja erstmal egal sein…). Da würde ich vermuten, das alle 3 Encoder Instanzen auch exakt dasselbe Bild zeigen, aber nicht jeweils mit 4-5 Sekunden Differenz… Wodurch das Bild erstellt wird oder akualisiert wird, kann ich nicht sagen. Mir ist nicht bekannt und bewusst, wodurch es aktualisiert werden soll. Es aktualisiert sich aber, jedoch nicht nachvollziehbar. Das Zeitintervall in den Encoder Instanzen steht auf „0 Sekunden“, was auch immer das heißen mag. Irgendwann aktualisiert sich das Bild mal, wie gesagt nicht nachvollziehbar und nachstellbar.

Zusätzlich zum Intervall oder einen Aktion gibt es tatsächlich noch folgendes wodurch die Instanzen jeweils das Bild neu laden.

  • wenn Symcon neu startet
  • wenn der IO die Verbindung zur Kamera neu aufbaut
  • wenn die Konfiguration vom IO oder einer Grabber Instanz geändert wird

Michael

Hier bei instar hat jemand ein ähnliches Problem.
Aufgrund der Frage nach dem gleichen Netzwerk dort, kann es sein dass die Kamera vielleicht nur Verbindungen aus dem gleichen Subnetz zulässt?!

Michael

Ich habe wohl den Fehler gefunden. Es lag an der Einstellung in der Kamera. Ich dachte das wenn die Einstellungen auf Nein stehen und aus gegraut sind wäre die Einstellung aktiv.

Es ist aber umgekehrt. So ist ONVIF aktiv:

image

image

1 „Gefällt mir“

Ich nutze ja auch Instar Kameras und soweit funktioniert auch alles.
Unter den Topics bei den Fähigkeiten der Kamera gibt es u.a. ja auch den „MotionAlarm“ also den Bewegungsalarm über den dann wiederum Aktionen in IPS getriggert werden können.

Nun kann man in der Kamera selbst aber eine Bindung oder Verknüpfung zwischen dem PIR und der Erkennung von Veränderungen iim Bildbereich herstellen um Fehlauslösungen zu vermeiden.

Die State Variable des MotionAlarm wird aber nicht erst getriggert, wenn die in der Kamera verknüpfte Regel (PIR und Bildveränderung) greift, sondern bereits wenn nur eine Bedingung erfüllt ist.

Gäbe es hier eine Lösung, das die STATE Variable synchron zur Konfiguration angetriggert wird?

Wenn die Kamera diese Regel nicht als Event liefert, nein. Events wie MotionAlarm oder DigitalInput werden immer vor einer eventuellen weiteren Logik in den Geräten per onvif versendet.
Nachgelagerte Logiken müssen eigene Events bereitstellen. Macht die Kamera das nicht, leider Pech gehabt.
Michael

Hallo,

beim Versuch eine Kamera hinzuzufügen, bekomme ich folgende Fehlermeldung:
Konnte Instanz nicht erstellen

Warning: DOMDocument::loadXML(): Namespace prefix tad on Capabilities is not defined in Entity, line: 2 in /var/lib/symcon/modules/.store/de.nall.chan.onvif/ONVIF IO/module.php on line 1777
(Code: -32603)

Ich habe es auch mal mit der Beta Version versucht und da kommt die gleiche Meldung.
Die Kamera ist eine Reolink, von dem Modell habe ich aber schon eine erfolgreich hinzugefügt ohne das ein Fehler kam.

Grüße

Fehler in der Kamera, kein Fehler im Modul.

Wenn du eine baugleiche hast, welche funktioniert. Dann bring die nicht funktionale auf die gleiche Firmware.
Michael

Die Versionen sind gleich.
Das baugleiche Modell wurde nur vor einer Weile hinzugefügt, mit einer älteren Modulversion und Symcon Version.

Wenn ich die bestehende Instanz kopiere und die URL anpasse, kommt auch die Fehlermeldung.
Aber die Eigenschaften des Gerätes werden ausgelesen.

Grüße

Mach mal bitte ein Update auf die aktuelle Beta.
Zumindest die PHP Fehlermeldung sollte nun abgefangen werden. Allerdings ist der Fehler dadurch nicht behoben. Die Meldung wird in ähnlicher Form im Logfile auftauchen.

Ob anschließend alles funktioniert, kann ich aber nicht garantieren. Da hilft nur Ausprobieren.

Michael

Danke, das Erstellen der Instanz funktionierte.

Es funktioniert bisher alles und die beiden Geräte verhalten sich auch gleich.
Sie haben auch beide die gleiche Hardware Version. Eine neuere Firmware Version ist nicht verfügbar.

Es gibt zwar neuere Modelle, aber die haben dann nur noch H265 und der geht ja aktuell noch nicht.

Grüße

Sonst auf der onvif Webseite mach nachschauen für welche Firmware der Hersteller das Gerät mit ONVIF spezifiziert hat. Eventuell Bug in der neuen FW und ein Downgrade hilft (wenn die Fehler im Log nerven).

Ja, danach sieht es aus.
Version auf der Seite v3.1.0.3419_2404291910
Aktuelle Version v3.1.0.3429_24041813

Bei einer Reolink E1 Outdoor sollte man dann vielleicht noch auf der älteren Firmware bleiben.

Grüße

Ich habe auch einen Update auf die Beta gemacht und folgende Fehlermeldung erhalten (nach dem Update):

24.10.2024, 21:12:34 | KernelMT             | InstanzManager: Fehler bei Instanz #37650, Meldung IM_CHANGESTATUS: 
Warning: InstanceInterface is not available in /var/lib/symcon/modules/.store/de.nall.chan.onvif/libs/ONVIFModuleBase.php(5) : eval()'d code on line 36

Fatal error: Uncaught TypeError: unserialize(): Argument #1 ($data) must be of type string, bool given in /var/lib/symcon/modules/.store/de.nall.chan.onvif/libs/ONVIFModuleBase.php(5) : eval()'d code:36
Stack trace:
#0 /var/lib/symcon/modules/.store/de.nall.chan.onvif/libs/ONVIFModuleBase.php(5) : eval()'d code(36): unserialize(false)
#1 /var/lib/symcon/modules/.store/de.nall.chan.onvif/libs/ONVIFModuleBase.php(9) : eval()'d code(47): ONVIFModuleBase->__get('ParentID')
#2 /var/lib/symcon/modules/.store/de.nall.chan.onvif/libs/ONVIFModuleBase.php(90): ONVIFModuleBase->IOMessageSink(19613758, 18136, 10505, Array)
#3 /-(3): ONVIFModuleBase->MessageSink(19613758, 18136, 10505, Array)
#4 {main}
  thrown in /var/lib/symcon/modules/.store/de.nall.chan.onvif/libs/ONVIFModuleBase.php(5) : eval()'d code on line 36

Das kann beim neu laden von Modulen passieren. Da sollten wohl gerade Daten ausgetauscht werden, hier weil Symcon eine Nachricht an eine Instanz senden wollte, als das Update die besagte Instanzen noch nicht fertig geladen hatte.
Anschließend sollte alles laufen.
Michael

Alles klar, danke dir!

Hallo Michael,

ich habe eine Reihe hochauflösender TrendNet-Kameras über das Modul eingebunden und das funktioniert alles auch soweit. Mit einer TV-IP1515PI habe ich allerdings das Problem, dass die Auflösung einfach nicht dem entspricht, was die Kamera (und auch das Modul) verspricht.
Das hier wird für den Stream angezeigt, aber heraus kommt nur ein Bild mit der Auflösung 352x256.

Mache ich noch was falsch ?

Grüße Frank

Die angezeigten Stream Eigenschaften sind Werte welche so 1:1 von der Kamera kommen.
Da würde ich genau nix drauf geben :wink:
Schau dir die Konfiguration des Stream-Profils auf der Kamera an; die Instanz fragt „nur“ die Stream-URL ab und trägt diese im Medien-Objekt ein (bei der Stream-Instanz).
Und der Image-Grabber fragt „nur“ über die von der Kamera mitgeteilten URL ein Einzelbild ab.
Die Qualität hängt von der Kamera ab.

Hast du mal ein anderen Stream-Profil oben ausgewählt?

Michael

ja, habe ich - sieht alles gleich aus :thinking: