ImageGrabber - Bild speichern

Mache ich es mir damit zu leicht?


<?

SMTP_SendMailMedia(47645 /*[Skripte\E-MAIL\E-Mail senden (SMTP)]*/, "Test!", 10197);

?>


Bekomme den Fehler:

Fatal error: Call to undefined function SMTP_SendMailMedia() in C:\ips\scripts\32134.ips.php on line 3
Abort Processing during Fatal-Error: Call to undefined function SMTP_SendMailMedia()
Error in Script C:\ips\scripts\32134.ips.php on Line 3

Ja!

Da fehlt ein parameter:D

SMTP_SendMailMedia(47645 /*[Skripte\E-MAIL\E-Mail senden (SMTP)]*/, "Test!", "Text",10197); 

Welches IPS ?
Die Doku ist da falsch, diesen Befehl gibt es erst seit IPS 4.0.
Vorher brauchte man ihn auch nicht, da die Datei auf dem Dateisystem immer dem Bild entsprach.
Michael

:banghead:

Sorry mein Fehler.

Habe gerade auf 4.0 geupdatet und es funktioniert :loveips: Danke Jungs

Hallo zusammen,

versuche gerade ebenfalls mein Bild aus dem Image Grabber auf dem Rechner upzudaten mit oben genanntem Skript.

Das ganze sieht bei mir so aus:

<? 

//Zeitstempel für Bild erstellen 
$sek=date('s',time()); 
$min=date('i',time()); 
$std=date('H',time()); 
$day=date('d',time()); 
$month=date('m',time()); 
$year=date('Y',time()); 

$name=$year.$month.$day.'_'.$std.$min.$sek; 

$name = $name.".jpg"; 

// Bild aktualisieren 
IG_UpdateImage(59152); 

$MediaID = 56909; 

$Inhalt = base64_decode(IPS_GetMediaContent($MediaID)); 

$Lokale_BildDatei = IPS_GetKernelDir()."\\cams".$name;  // z.B.  C:\IP-Symcon\media	estbild.png 

// Bild in Datei speichern 
file_put_contents($Lokale_BildDatei, $Inhalt); 

?>

Das Bild wird aber nicht aktualisiert:

Was mache ich falsch?

Danke für Eure Hilfe

Zu dieser ImageGrabber GEschichte…
Maltretiert man sich da nicht -bei nem RASPI- die SD-Karte ?

Nö, das Bild ist nur im Cache.
Das sollte die SD-Karte nicht interessieren.
Gruß, Peter

Gesendet von iPhone mit Tapatalk

Schau mal im IPS-Ordner nach, du hast da einen Backslash vergessen und vermutlich jetzt ganz viele cams2017_xxxx_xx Dateien :slight_smile:

<? 

$Lokale_BildDatei = IPS_GetKernelDir()."\\cams\\".$name;  // <-- Bei dir hast du unter c:\IP-Symcon\cams2017_xx_xx.... und nicht unter  

?>

Der Zeitstempel ändert sich nicht, da das Bild ja im RAM liegt.
Darum mußt du ja auch IPS_GetMediaContent nutzen.
Alles korrekt so.

Michael

Und wann muss ich das Skript jetzt ausführen?
Wie oft?
Bei jedem Aufruf des Bildes? D.h. wenn es klingelt und ich das Bild versenden möchte, muss ich vorher das Skript laufen lassen? Oder per Event?

Wie macht ihr das?

Was hast du mit dem Bild dann genau vor?
Michael

Wenn es klingelt möchte ich eine Mail mit dem Snapshot schicken.

Funktionier bis auf den Snapshot prima.

Dazu brauchst du das Bild nicht speichern. Siehe Post 22
ImageGrabber - Bild speichern - Seite 3
Oder in der Doku.

Vorher musst du natürlich in das Bild aktualisieren.
Und ausführen des Script über ein Event beim Drücken der Klingel.
Michael

Aahhh, der Image - grabber aktualisiert ja ohnehin jede Sekunde. Das heißt ich kann das Bild direkt versenden !?
[emoji848]

Ich denke immer zu kompliziert glaube ich.
Das teste ich morgen …

Danke für die Tipps.

PS: die umständliche Variante geht schon mal [emoji12]

Die einfache Variante geht ebenfalls.

Vielen Dank für die Hilfe.