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

hmpf
Ich würde ja einfach wieder das alte Modul nehmen, bis ich eine Lösung für eine andere Firmware oder eine andere Kamera habe … kann man das aus einem Backup irgendwie wiederherstellen ?

Das die TPLink wieder unterstützt wird, dafür danke ich Dir auch! Ja, war wohl ein harter Kampf aber die grauen Haare stehen Dir bestimmt :laughing:

Laut Model gehört es hierzu:
http://www.ipcam.xin/

Wäre vielleicht einen Versuch wert.

Leider ist es so, das diese Hersteller nie Mitglied bei ONVIF sind, somit keinen Zugriff auf die Test-Tools haben, entsprechend nicht als getestetes Produkt gelistet sind und dadurch häufig Fehler in der Implementierung haben.

Beispiel welches hier zum Fehler führt:
Laut Kamera ist Subscription nicht möglich (false) und PullPoint unterstzützt (true)

Capabilities->WSSubscriptionPolicySupport | FALSE
Capabilities->WSPullPointSupport | TRUE

Nun ist Subscription aber obligatorisch bei Profil S (was die Kamera auch nicht meldet!) und funktioniert auch, die Kamera liefert eine Erfolgsmeldung.
Aber anschließend kommen keine Events an, darum in der stable der Fehler.
Bei der Beta wird dann versucht auf PullPoint zu wechseln, was die Kamera ja als unterstützt meldet, dann aber mit Fehler quitiiert.

Send Function | CreatePullPointSubscription
Soap Response Error (0) | Action Not Implemented

Viel mehr kann ich also im Modul auch nicht machen.
Außer du hast doch irgendwas was verhindert dass die Kamera dein Symcon erreichen kann, und somit die Events nicht am Webhook ankommen.
Michael

Moin Michael,
danke für den Hinweis.
Allerdings habe ich heute Nacht bereits sämtliche FW ausprobiert, die ich zur der Version gefunden habe, leider immer die gleiche Fehlermeldung.
Kann ich nicht irgendwie auf die alte Version des Moduls zurück, da es ja bis zum Update funktioniert hat? Reicht es aus, aus einem Backup von vor 2 Tagen sämtliche Dateien/Ordner zu dem Modul wiederherzustellen?
Verhindert habe ich nichts in Bezug auf Kommunikation, zumindest nicht das ich davon wüsste :smiley:
2 Reolink Kameras funktionieren mit dem Modul.

Das Modul ist leider noch nicht von Haus aus für IPS 7.0 geeignet - um es lauffähig zu bekommen habe ich zwei kleine Änderungen in der ONVIF.inc.php gemacht:

Hinzufügen von „#[\AllowDynamicProperties]“ (keine gute Lösung, nur schneller Workarround)

declare(strict_types=1);

namespace ONVIF;

require_once __DIR__ . '/wsdl.php';

class ONVIFsoapClient extends \SoapClient

Geändert in:

declare(strict_types=1);

namespace ONVIF;

require_once __DIR__ . '/wsdl.php';

#[\AllowDynamicProperties]

class ONVIFsoapClient extends \SoapClient

Zweite Änderung:

    public function __doRequest($request, $location, $action, $version, $one_way = false)

    public function __doRequest($request, $location, $action, $version, $one_way = false): ?string

Damit läuft es bei mir erst mal. Aber @Nall-chan wird das bestimmt noch ordentlich machen :slight_smile:
Grüße
Stefan

Es gibt dazu hier ein Modul…
Dem fehlen aber noch die letzten Fixes.

Michael

Hallo Michael
Ich habe gerade eine weitere Kamera ausprobiert und dasselbe Problem, wie mit der andern. Ist allerdings auch eine Kamera aus dem IPCAM Sortiment. Sämtliche ONVIF Viewer ( egal ob Handy oder PC ) finden beide Kameras und können diese per ONVIF Profil auch benutzen…

Davon abgesehen funktioniert die Discovery Instanz der Beta in der Verwaltungskonsole nicht richtig, da dort der Port scheinbar nicht sauber übergeben wird!? Es werden Kameras gefunden, es gibt aber keine Verbindung.
Screenshot 2023-08-02 161847

Falls du schon Symcon Version 7 hast, kannst du den Link oben zu den Testkanälen meiner Module folgen und das ONVIF Modul für Symcon 7.0 testen.
Da gibt es jetzt weitere Optionen um z.b. die Ereignis Verarbeitung zu beeinflussen oder abzuschalten. (Version für Symcon 6 folgt noch diese Woche)

Das beim Discovery habe ich so noch nie gesehen, tippe darauf das hier dein Symcon die Adresse nicht auflösen kann, warum auch immer.
Da würde ich mich wieder um ein Debug der Discovery Instanz freuen.
Michael

Neue Beta (2.10) im Store

Changelog siehe hier:

@Tetrapack
Der Fix für die Discovery ist auch enthalten, fehlte aber im Changelog.
Danke für das Dump :slight_smile:

Dankeschön, damit gehen jetzt beide Kameras, sofern ich die Ereignisverarbeitung auf „Niemals“ stelle, obwohl Events im Konfigurator gefunden werden.
Interessanterweise findet der Konfigurator keine Snapshotfunktion bei der Neuen, obwohl es dafür eine URL gibt.
Evtl. wäre eine Idee, einen manuellen Snapshot Link einfügen zu können ?

Wofür ist die Option „im Browser öffnen“ , wofür soll das gut sein ?

Dann sagt die Kamera das sie es nicht kann.
Schau mal bei den Geräteinformationen im IO.
Was aber nichts heißen muss, manchmal kann die Kamera es dennoch. Der Konfigurator verlässt sich aber auf die Fähigkeiten welche die Kamera meldet.

Wenn du die hast, dann brauchst du die ONVIF Instanz nicht und kannst den Symcon Image Grabber benutzen.
Oder einfach den ONVIF Image Grabber manuell anlegen.

Um das Webinterface der Kamera zu öffnen. Was deine bestimmt nicht haben, die China Dinger sind ja meistens für reine Cloud Anbindungen per App gedacht.
Michael

Webinterface ist vorhanden, darüber lassen sich die Kameras konfigurieren.
Den ONVIF Image Grabber hatte ich manuell angelegt, allerdings kam die Meldung, das keine Snapshot URL gefunden wurde.
Das mit dem „normalen“ Imagegrabber hatte ich komplett vergessen, darüber gehts natürlich!
Vergiss meine „Idee“ :man_facepalming:

Dann kann sie wirklich keine (über ONVIF).
Michael

Hallo Michael,
durch das aktuelle Update habe ich wieder mit der Einbindung meiner Kameras beschäftigt und bin auf folgende Problem gestoßen. Die I/O-Instanz ist verbunden und ich kann auch die Fähigkeiten laden. Nun bringt ein zu dieser Kamera erstellter Image Grapper (der auch Konfiguration gültig anzeigt), beim Aktualisieren folgende Fehlermeldung:

03.08.2023, 12:44:25 | ScriptEngine         | Result for Text (Length: 51)
Warning: HTTP/1.1 500 Internal Server Error
 in C:\Windows\System32\- on line 1
---
03.08.2023, 12:44:30 | ScriptEngine         | Result for Text (Length: 51)

Warning: Operation timed out after 5012 milliseconds with 0 bytes received
 in C:\Windows\System32\- on line 1

Hast Du da eine Idee?

Tom

Ja, habe ich auch bei einer Kamera. Da gibt es kein Snapshot (Einzelbild).
Kannst ja Mal den Debug der Instanz prüfen, ob die URL korrekt ist, wenn ein Bild geladen werden soll.
Was steht denn in den Geräteinformationen des IO?
Snapshot unterstützt?
Michael
Edit: Für die ‚tollen‘ IPC Geräte gibt es gleich noch ein Bugfix.

Unter Geräteinformationen steht: Snapshots unterstützt. Die URL aus dem Debug tut auch nichts. Da fehlt mir wieder ein, ich habe da vor langer zeit schon mal lange gesucht, ohne Erfolg. Ich habe da mehrere Kameras davon. Hikvision DS-2PT3326IZ. Bei unterstütze Onvif-Profile steht S und G.

Tom

Ist jetzt unter der gleichen Version online.

tolles Modul. Im Image Grabber wird mir kein Bild angezeigt. Der Stream funktioniert einwandfrei.


ips

Siehe hier, ohne diese Infos kann man nur raten:

Michael

gemäss deinem Modul wird es sogar unterstützt. Wo kann ich die Url dafür anpassen? Die stimmt gemäss Reolink nicht überein.