Image Grabber URL per Script übergeben

Hallo zusammen,

ich habe bei mir ein paar preisgünstige aber vom Bild her sehr gute Cameras für die Überwachung laufen
(ESCAM QD900). Leider haben diese Cameras nur H264 und daher kann ich diese nicht in IPS einbinden.
Im Web habe ich ein Python-Script gefunden, welches einen Snapshot macht und diesen in einer Datei abspeichert.
mit meinen rudimentären Kenntnissen habe ich unter IPS ein PHP-Script geschrieben, welches mir den Pfad zum aktuellen Bild ausgibt ( Der Pfad ändert sich immer,c abhängig vom Datum/Urzeit etc)

Wie bekomme ich den Pfad zur URL des Bildes nun in den Imagegrabber. Ich habe nur den Befehl zum Update gefunden, aber leider nichts, um die URL einstellen zu können.
Vielen Dank vorab.

IPS_SetProperty — IP-Symcon :: Automatisierungssoftware
Weil es ja, wie du geschrieben hast, eine Einstellung ist :wink:
Eventuell wäre es aber einfacher es dann gleich ganz in PHP zu lösen.
Michael

Vielen Dank für die schnelle und vor allen Dingen PERFEKTE Antwort.
Mir war nicht klar, wo ich danach suchen muss, habe nur unter Image Grabber gesucht …

So klappt das ganze jetzt, aber schöner wäre es natürlich, direkt in den Script die Datei abzuholen und in eine Bild zu speichern, welches aber gerne auch im RAM bleiben sollte und nicht gespeichert wird, da ich auf dem System auch eine SSD laufen habe.
Gibt es hierzu eine Variante, einfach ein Bild aus einer URL in eine „Image“ zu speichern ?

Das geht auch.
Du kannst das hier mal probieren (habe ich aber jetzt nicht getestet)


        $id = IPS_GetParent($_IPS['SELF']);
        $ImgID = @IPS_GetObjectIDByIdent('Image', $id);
        if ($ImgID === false)
        {
            $ImgID = IPS_CreateMedia(1);
            IPS_SetParent($ImgID , $id);
            IPS_SetIdent($ImgID , 'Image');
            IPS_SetName($ImgID , 'Bild');
            IPS_SetMediaCached($ImgID , true);
            IPS_SetMediaFile($ImgID , "media" . DIRECTORY_SEPARATOR . "Image_" . $ImgID . ".jpg", False);
        }
       $ImgRAW = @Sys_GetURLContent("http://hierdieurlzumbild");
       if (!($ImgRAW === false))
       {
                IPS_SetMediaContent($ImgID , base64_encode($ImgRAW));
        }

Wenn du die als Script ausführst, wird auf der gleichen Ebene ein MediaObjekt erzeugt und mit dem Inhalt von Sys_GetURLContent gefüllt. Dabei wird die Datei unter IPS_SetMediaFile nur benutzt, wenn IPS runter bzw. hochgefahren wird. Sonst liegt das Bild nur im RAM.

Michael