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

Hi Nallchan,

leider tritt das Problem auch so sporadisch auf … Ich helfe mir jetzt mit einer Quick and Dirty Lösung, immer wenn ich kein Bild speichern kann (erg = false):

<?php
//Nur für ONVIF Kameras !!!!!!!
$ParID=IPS_GetParent($_IPS['SELF']);
$ParParID=IPS_GetParent($ParID);
$Name=IPS_GetName($ParParID);
$GrabberID=IPS_GetInstanceIDByName("ONVIF Image Grabber",$ParParID);
$GrabberImageID=IPS_GetMediaIDByName("Image",$GrabberID);
//echo IPS_GetMedia($GrabberImageID)['MediaFile'];
$erg=ONVIF_UpdateImage($GrabberID);
if ($erg) {   
    $image = base64_decode(IPS_GetMediaContent($GrabberImageID)); 
    $timestamp = time();
    $Zeit = date("Ymd-H_i_s",$timestamp);
    //$Pfad=IPS_GetKernelDir()."media\\Cams\\$Name\\test.jpg";;
    $Pfad=IPS_GetKernelDir()."Cams\\$Name\\$Zeit.jpg";
    //echo $Pfad;
    file_put_contents($Pfad,$image);
}
else {
    echo "Konnte Bild nicht holen";
    $ScriptID=IPS_GetScriptIDByName("FehlerFix",$ParID);
    IPS_RunScript($ScriptID);
}
?>
<?php
$ConnectionID=21884;
//
$ParID=IPS_GetParent($_IPS['SELF']);
$ParParID=IPS_GetParent($ParID);
$Name=IPS_GetName($ParParID);
$arr=IPS_GetInstance($ParID);
$Conn_Ist=$arr['ConnectionID'];
IPS_Sleep(1000);
if ($_IPS['SENDER'] == "RunScript") {
    IPS_LogMessage ("$Name ONVIF","ImageGrabber hat Fehlfunktion Connection = $Conn_Ist - trenne (".$_IPS['SELF'].")");
    IPS_DisconnectInstance($ParID);
}
IPS_Sleep(5000);
if (($Conn_Ist>1)&& ($Conn_Ist<99999)) {
    IPS_LogMessage ("$Name ONVIF","ImageGrabber hat Connection zu $Conn_Ist (".$_IPS['SELF'].")");
}
else {
    IPS_LogMessage ("$Name ONVIF","ImageGrabber hat KEINE Connection = $Conn_Ist - verbinde neu (".$_IPS['SELF'].")");
    //echo "Conn_IST=$Conn_Ist\n";
    //print_r($arr);
    IPS_ConnectInstance($ParID, $ConnectionID);   
}
?>

Auszug aus dem Log:

19.08.2022 19:20:23 | 49811 | WARNING | ScriptEngine         | Result for Script 49811
Konnte Bild nicht holen
19.08.2022 19:20:24 | 00000 | CUSTOM  | Eingang ONVIF        | ImageGrabber hat Fehlfunktion Connection = 0 - trenne (43015)
19.08.2022 19:20:25 | 00000 | CUSTOM  | Eingang ONVIF        | ImageGrabber hat Connection zu 21884 (43015)
19.08.2022 19:20:29 | 00000 | CUSTOM  | Eingang ONVIF        | ImageGrabber hat KEINE Connection = 0 - verbinde neu (43015)
19.08.2022 19:20:29 | 43015 | WARNING | ScriptEngine         | Result for Script 43015
Warning: Instanz #13437 hat kein übergeordnetes Objekt in C:\ProgramData\Symcon\scripts\43015.ips.php on line 12
19.08.2022 19:20:33 | 43015 | WARNING | ScriptEngine         | Result for Script 43015
Warning: Instanz #13437 hat kein übergeordnetes Objekt in C:\ProgramData\Symcon\scripts\43015.ips.php on line 12
Warning: Instanz #13437  hat bereits ein übergeordnetes Objekt in C:\ProgramData\Symcon\scripts\43015.ips.php on line 22

Der gewünschte Screenshot war bereits im vorherigen Post - mehr habe ich nicht zu bieten …
Ich hoffe, dies hilft Dir …
Ciao
HerbertF

Nein, ich brauche den von der IO Instanz und nicht von dem Grabber :slight_smile:
Und das Logfile vom starten des Systems.
Nicht diesen Auszug wenn dein Script zuschlägt.
Gerne auch per PN.
Michael

Leider ist beim soeben erfolgten Neustart der Fehler nicht aufgetreten :see_no_evil: :upside_down_face: ich habe jetzt die automatischen Fehlerfixe mal deaktiviert und schaue mal.
Das Log vom korrekten Start willst Du nicht zufällig?

:laughing: ne… das kannst du behalten.
Michael

Moin Michael,
ich habe ein kleinen Problem mit dem PTZ-Control im WebFront. 3 meiner Kameras liefern ca, 2500x2000 und es ist kein Bild im PTZ-Control wohl aber in der Vorschau vom Stream-Medienobjekt. 1 Kamera hat nur HD und da klappt es auch mit dem Web-Control.

Ralf

Schau bitte ob das Stream Objekt im WebFront funktioniert.
Wenn nein:
Schau Mal in einen der RTSP Themas. Dort hatte @paresy schon geschrieben das alles über 1080p nicht wirklich funktioniert.
Link ergänzt: RTSP-Stream mit 4K geht nicht - #2 von paresy

Wenn ja:
Dann ist meine HTML Box, welche auch den Stream aus Symcon einbindet wohl bei dir kaputt.

Das Transcoding und Streaming zur Console und WebFront ist immer ein Symcon Thema.
Michael

Einfach Streamobjekt in webfront verlinken zeigt Bild. Wie kann ich die html Box reparieren?

Ralf

Erste Idee wäre mir den dev Tools vom Browser zu prüfen ob beim Laden der HTML Box eine Fehlermeldung kommt.
Du könntest versuchen die konfig der Instanz neu zu übernehmen, der Inhalt der Variable sollte dann neu gesetzt werden und eventuell klappt es dann wieder.
Kannst mir auch gerne den Inhalt per PN zukommen lassen, vielleicht finde ich etwas.
Michael

Neuanlegen der Instanz und PTZ-HTML-Box hat es gefinxed. Ich glaube ich bin schon mal drauf reingefallen als ich an den Einstellungen was geändert hatte.

Danke Ralf

Tja, das hilft mir natürlich so hat nicht.
Wenn es nach dem übernehmen der Einstellungen wieder funktioniert, dann habe ich eine Vermutung. Aber das ist durch das neu anlegen leider hinfällig :pensive:
Michael

Hallo,
ich wollte eine einfache Camera einbinden (Pearl ZX5110).
Bekomme aber folgendes:

mache ich etwas verkehrt oder habe ich noch eine Chance?

PS.: mit dem ONVIF Manager von synesis funktioniert alles

Geräte nicht erreichbar bedeutet einfach das Symcon die URL nicht erreichen kann.
IP Adresse korrekt?
Von Hand angelegt oder über Discovery Instanz?
Wird im Debug Reiter etwas protokolliert?
Michael

Danke für die Antwort.
IP-Adresse ist korrekt
angelegt über Discovery-Instanz
Debug gibt was aus, ich kann aber damit nichts anfangen

Noch eine Idee??

Ich aber vielleicht :laughing:
Gerne auch den Debug von der Discovery Instanz, wenn man dort auf aktualisiert speichern und neu laden klickt.
Michael

Hallo Michael,
habe mal die dumps angehängt.
Bin aber die nächsten 8 Tage nicht am Server.
Peter
dump-configurator.txt (182,7 KB)
dump-discovery.txt (91,4 KB)
dump-io.txt (231,9 KB)

Hallo Michael,
konntest du schon mal in die Dumps schauen?

Peter

Jup, auch wenn der dump-configurator leider auch von der Discovery Instanz ist :smiley:
Leider kann ich aber nicht weiterhelfen. Dein Gerät meint, es muss verpflichtende Funktionen bei ONVIF nicht unterstützen → Sprich, dein Gerät erfüllt den Standard nicht.
Ich versuche die Ausgabe der Fehlermeldung zu verbessern. Auch wenn es dir nicht hilft.
Michael

Danke für die Info,
dann werde ich mir den ONVIF Manager von synesis installieren, damit geht es (leider keine Integration in IPS).

Wenn es ‚nur‘ um den Stream geht. Kannst du, sofern du die URL vom Streams hast, einfach ein Media-Objekt anlegen und die URL dort eintragen.
Gleiches für eine Snapshot-URL für den (Symcon) Image-Grabber.
Michael

danke, aber leider keine verwendbare URL.
Anmeldung erfolgt auf externer Webseite mit QR-Code-Verifizierung über die ELESION-App.