nix ,ist leer
Ankündigung
Einklappen
Keine Ankündigung bisher.
Email Openhab mit Bild
Einklappen
X
-
Hmm... die Option -m 10 gibt einen Timeout von 10 Sekunden vor. Falls das Holen des Bilds länger dauern sollte, gäbe es eine leere Datei. eine andere Möglichkeit wäre, dass der Aufruf aufgrund irgendwelcher (Sonder-)Zeichen innerhalb des Aufrufs schief ist. Du könntest mit
logInfo ("KT","cmd = {}",cmd) mal mitloggen, wie die Befehlszeile exakt aussieht. Oder Du ergänzt noch 2>>/pfad/zur/logdatei im curl-Aufruf, dann kannst Du nach dem curl-Lauf nachschauen, worüber curl gestolpert ist. Falls da zu wenig steht, kannst Du noch mit -v die Verbosity erhöhen. cmd sollte also dann so aussehen:Code:val url = "http://admin:pass@selfhost.eu:58081/cgi-bin/video.cgi?msubmenu=jpg" val outputFile = "/home/pi/opt/openhab/tmp/2.jpg" var cmd = "curl -m 10 -v -o " + outputFile + " 2>>/home/pi/opt/openhab/tmp/curl.log " + url executeCommandLine(cmd)
Kommentar
-
wenn ich die cmd zeile so wie du gesagt hast ändere
Code:val outputFile = "/opt/openhab/tmp/2" +".jpg" var cmd = "curl -m 10 -v -o " + outputFile + " 2>>/opt/openhab/tmp/curl.log " + url executeCommandLine(cmd)
und 10 sec Timeout muss glaube ich reichen. die email bekomme ich in 5 sec...und mit dem Telegram geht es ja auch so schnell
("KT","cmd = {}",cmd) da verstehe ich nur Bahnhof wo soll ich das reinschreiben
Zuletzt geändert von djuscha; 18.07.2016, 22:17.
Kommentar
-
jetzt hab ich was anderes rausgefunden
mit demCode:executeCommandLine("wget http://user:pass@*****.selfhost.eu:58081/cgi-bin/video.cgi?msubmenu=jpg -O /tmp/" + Cam",5)
jetzt muss ich das nur versenden
sobald ich aber mit senden probiere
Code:var Cam = "pic" +".jpg" executeCommandLine("wget http://user:pass@***.selfhost.eu:58081/cgi-bin/video.cgi?msubmenu=jpg -O /tmp/" + Cam",5) sendMail("openhab@gmail.com","Besucher","Besucher hat um "+now.toString("HH:mm:ss")+" geklingelt","file:///tmp/"+Cam)
Code:2016-07-20 14:34:21.418 [INFO ] [g.openhab.io.net.exec.ExecUtil] - executed commandLine 'wget http://user:pass@selfhost.eu:58081/cgi-bin/video.cgi?msubmenu=jpg -O /tmp/pic.jpg' 2016-07-20 14:34:22.122 [ERROR] [o.o.c.s.ScriptExecutionThread ] - Error during the execution of rule 'test1': The name 'openhab' cannot be resolved to an item or type.
Code:var Cam = "pic" +".jpg" sendMail("openhab@gmail.com","Besucher","Besucher hat um "+now.toString("HH:mm:ss")+" geklingelt","file:///tmp/"+Cam)
mache ich irgendwo Denkfehler?
Zuletzt geändert von djuscha; 29.07.2016, 15:20.
Kommentar
-
das alte Bild ist ja noch da..da hätte ich das alte Bild zumindestens bekommen...aber es wird nichts versendetund ich hab das mit Thread::sleep(1000)
und davor schon mit timer = createTimer(now.plusSeconds(10) probiert ...keine emailund immer noch ERROR im log
Error during the execution of rule 'test1': The name 'openhab' cannot be resolved to an item or type.
Kommentar
-
Code:rule"test1" when Item fibratet changed from OFF to ON then var Cam = "pic" +".jpg" executeCommandLine("wget http://user:pass@*****.selfhost.eu:58081/cgi-bin/video.cgi?msubmenu=jpg -O /tmp/" + Cam",5) Thread::sleep(1000) sendMail("openhab@gmail.com","Besucher","Besucher hat um "+now.toString("HH:mm:ss")+" geklingelt","file:///tmp/"+Cam) end
Kommentar
-
Du hast ein " zuviel/zuwenig in Deiner Codezeile des executeCommandLine....
Nach Cam fängt ein zweiter String an, der mit den " in Sendmail vor der Mail-Adresse abgeschlossen wird. Somit ist openhab von der Email-Adresse kein String, sondern ein Kommando. Dadurch auch die Fehlermeldung, dass openhab kein gültiges Item ist.... und sendMail wird nicht als Kommando verstanden, da es innerhalb des Strings ist.
- Likes 1
Kommentar
-
@imhofa du bist ein Schatz!!!endlich geht das ..hab noch ein " hinter 5 gesetzt und o Wunder es geht..
wenn ich nur wüsste wozu die 5 da ist??hab die rules so im inet entdeckt es geht auch ohne Thread::sleep(1000) dazwieschen ist schon zimmlich flott
so geht das jetzt
Code:var Cam = "pic" +".jpg" executeCommandLine("wget http://user:pass@*****.selfhost.eu:58081/cgi-bin/video.cgi?msubmenu=jpg -O /tmp/" + Cam",5") Thread::sleep(1000) sendMail("openhab@gmail.com","Besucher","Besucher hat um "+now.toString("HH:mm:ss")+" geklingelt","file:///tmp/"+Cam)
Kommentar
Kommentar