Lösung: Klingel erzeugt Bild von Foscam und sendet per Mail
Moderator: Co-Administratoren
Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M
Hallo,
´habe das Problem, dass ich eine Email bekomme mit nem Anhang "photo.jpg", die aber 0kb gross ist. URL in browser funktioniert. Bild hab ich da.
habe eine foscam FI9803.
package require base64
meine sendCamShot.tcl:
set SNAPSHOT_URL "http://192.168.178.46:88/cgi-bin/CGIPro ... pwd=xxxxxx"
set EMAIL_SUBJECT "es hat an der Haustuer geklingelt"
set EMAIL_BODY "siehe Anhang"
set SEND_TO "alexander@xxxxxxx.de"
set SEND_CC "michaela@xxxxxxx.de"
set SEND_FROM "alexander@xxxxxxxx.de"
set SMTP_HOST "smtp.strato.de"
set SMTP_USER "alexander@xxxxxxx.de"
set SMTP_PASSWD "xxxxxxxxx"
set SMTP_DOMAIN "strato.de"
# DEFINE EMAIL TEMPLATE
set tmpl "To: $SEND_TO
From: $SEND_FROM
Subject: $EMAIL_SUBJECT
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=\"=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk\"
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk
Content-Type: text/plain; charset=\"iso-8859-1\"
Content-Transfer-Encoding: 8bit
$EMAIL_BODY
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk
Content-Type: application/octet-stream; name=\"photo.jpg\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=\"photo.jpg\"
{IMGDATA}
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk--"
# DOWNLOAD THE SNAPSHOT
exec wget -q -O /tmp/snapshot.jpg $SNAPSHOT_URL
# READ SNAPSHOT INTO VARIABLE & BASE64 ENCODE
set fp [open "/tmp/snapshot.jpg" r]
fconfigure $fp -translation binary
set imgdata [read $fp]
set encodeddata [::base64::encode $imgdata]
close $fp
# REPLACE IMG DATA WITH REAL IMAGE DATA
regsub -all "{IMGDATA}" $tmpl $encodeddata tmpl
# WRITE READY EMAIL TO A TMP FILE
set fp [open "/tmp/ready.eml" w]
puts $fp $tmpl
close $fp
set config "
defaults
tls on
tls_starttls off
tls_certcheck off
logfile /var/log/email.log
account provider
host $SMTP_HOST
from $SEND_FROM
domain $SMTP_DOMAIN
auth login
user $SMTP_USER
password $SMTP_PASSWD
account default: provider
"
set fp [open "/tmp/msmtp.conf" w]
puts $fp $config
close $fp
exec chmod 0600 /tmp/msmtp.conf
# SEND EMAIL USING MSMTP
exec cat /tmp/ready.eml | msmtp -C /tmp/msmtp.conf $SEND_TO
# CLEAN UP
exec rm -f /tmp/msmtp.conf
exec rm -f /tmp/ready.eml
exec rm -f /tmp/snapshot.jpg
was mache ich falsch? ich meine email kommt ja an. Und die cam sollte eigentlich auch unterstützt werden.
Kann mir jemand helfen???
Lg
Alex
´habe das Problem, dass ich eine Email bekomme mit nem Anhang "photo.jpg", die aber 0kb gross ist. URL in browser funktioniert. Bild hab ich da.
habe eine foscam FI9803.
package require base64
meine sendCamShot.tcl:
set SNAPSHOT_URL "http://192.168.178.46:88/cgi-bin/CGIPro ... pwd=xxxxxx"
set EMAIL_SUBJECT "es hat an der Haustuer geklingelt"
set EMAIL_BODY "siehe Anhang"
set SEND_TO "alexander@xxxxxxx.de"
set SEND_CC "michaela@xxxxxxx.de"
set SEND_FROM "alexander@xxxxxxxx.de"
set SMTP_HOST "smtp.strato.de"
set SMTP_USER "alexander@xxxxxxx.de"
set SMTP_PASSWD "xxxxxxxxx"
set SMTP_DOMAIN "strato.de"
# DEFINE EMAIL TEMPLATE
set tmpl "To: $SEND_TO
From: $SEND_FROM
Subject: $EMAIL_SUBJECT
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=\"=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk\"
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk
Content-Type: text/plain; charset=\"iso-8859-1\"
Content-Transfer-Encoding: 8bit
$EMAIL_BODY
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk
Content-Type: application/octet-stream; name=\"photo.jpg\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=\"photo.jpg\"
{IMGDATA}
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk--"
# DOWNLOAD THE SNAPSHOT
exec wget -q -O /tmp/snapshot.jpg $SNAPSHOT_URL
# READ SNAPSHOT INTO VARIABLE & BASE64 ENCODE
set fp [open "/tmp/snapshot.jpg" r]
fconfigure $fp -translation binary
set imgdata [read $fp]
set encodeddata [::base64::encode $imgdata]
close $fp
# REPLACE IMG DATA WITH REAL IMAGE DATA
regsub -all "{IMGDATA}" $tmpl $encodeddata tmpl
# WRITE READY EMAIL TO A TMP FILE
set fp [open "/tmp/ready.eml" w]
puts $fp $tmpl
close $fp
set config "
defaults
tls on
tls_starttls off
tls_certcheck off
logfile /var/log/email.log
account provider
host $SMTP_HOST
from $SEND_FROM
domain $SMTP_DOMAIN
auth login
user $SMTP_USER
password $SMTP_PASSWD
account default: provider
"
set fp [open "/tmp/msmtp.conf" w]
puts $fp $config
close $fp
exec chmod 0600 /tmp/msmtp.conf
# SEND EMAIL USING MSMTP
exec cat /tmp/ready.eml | msmtp -C /tmp/msmtp.conf $SEND_TO
# CLEAN UP
exec rm -f /tmp/msmtp.conf
exec rm -f /tmp/ready.eml
exec rm -f /tmp/snapshot.jpg
was mache ich falsch? ich meine email kommt ja an. Und die cam sollte eigentlich auch unterstützt werden.
Kann mir jemand helfen???
Lg
Alex
CCU2 * CCU.IO + DashUI + CCUHistorian auf Raspi 1 und 2 * * iPad 2 als Wandtablet * PocketControl HM (iPhone 6 + iPad Pro) * CUxD * Apple watch mit PocketControl HM * * 4x Amazon Alexa mit Homematic Steuerung
Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M
Die Email kommt an, weil das Skript durchläuft. Das ist schonmal gut.
Jetzt ist die Frage, was Deine Cam genau liefert, wenn man sie anspricht.
Nimm mal das rm für die snapshot.jpg raus und schau Dir das erzeugte File in /tmp an.
Jetzt ist die Frage, was Deine Cam genau liefert, wenn man sie anspricht.
Nimm mal das rm für die snapshot.jpg raus und schau Dir das erzeugte File in /tmp an.
Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M
aber wie gesagt: http://192.168.178.46:88/cgi-bin/CGIPro ... pwd=xxxxxx liefert mir ein bild im browser der cam VG
Alex
CCU2 * CCU.IO + DashUI + CCUHistorian auf Raspi 1 und 2 * * iPad 2 als Wandtablet * PocketControl HM (iPhone 6 + iPad Pro) * CUxD * Apple watch mit PocketControl HM * * 4x Amazon Alexa mit Homematic Steuerung
Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M
Kannst Du mal auf der CCU in der Konsole
cat snapshot.jpg
ausführen?
cat snapshot.jpg
ausführen?
Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M
Auf der Konsole in der ccu? Was meinst du damit?
CCU2 * CCU.IO + DashUI + CCUHistorian auf Raspi 1 und 2 * * iPad 2 als Wandtablet * PocketControl HM (iPhone 6 + iPad Pro) * CUxD * Apple watch mit PocketControl HM * * 4x Amazon Alexa mit Homematic Steuerung
Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M
ich sehe gerade, dass bahnuhr hier
VG
Alex
wget.exe und dlls mit im ordner hat. Brauche ich das? wenn ja, woher bekomm ich das?VG
Alex
CCU2 * CCU.IO + DashUI + CCUHistorian auf Raspi 1 und 2 * * iPad 2 als Wandtablet * PocketControl HM (iPhone 6 + iPad Pro) * CUxD * Apple watch mit PocketControl HM * * 4x Amazon Alexa mit Homematic Steuerung
Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M
Guten Morgen,
ich glaube die Dateien brauchst du nicht. Habe Sie damals mit reingepackt um absolut sicher zu gehen (weil man sich ja nicht so genau damit auskennt).
Vergleiche nochmal das Script. m.E. müsste da der Fehler liegen.
Ich habe auch Foscam. Und bei mir funktionierts.
mfg
bahnuhr
Nachtrag:
Bin gerade am probieren (2 Foscam Bilder in einer Mail). Hab ich noch nicht hinbekommen.
Wenn jemand ein lauffähiges Script hat, bitte mal einstellen.
ich glaube die Dateien brauchst du nicht. Habe Sie damals mit reingepackt um absolut sicher zu gehen (weil man sich ja nicht so genau damit auskennt).
Vergleiche nochmal das Script. m.E. müsste da der Fehler liegen.
Ich habe auch Foscam. Und bei mir funktionierts.
mfg
bahnuhr
Nachtrag:
Bin gerade am probieren (2 Foscam Bilder in einer Mail). Hab ich noch nicht hinbekommen.
Wenn jemand ein lauffähiges Script hat, bitte mal einstellen.
CCU2, iobroker, 264 Kanäle in 124 Geräten und 21 CUxD-Kanäle in 13 CUxD-Geräten
Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M
das ist meine tcl...sieht genau so aus wie bei dir bahnuhr... ich bin am verzweifeln
wie gesagt email kommt an aber bild ist 1kb im ordner
@Martin_BY:
cat snapshot.jpg hat als ausgabe in der konsole:
/tmp$ cat snapshot.jpg
<html><body><img src="../snapPic/Snap_20160131-115316.jpg"/></body></html>
kann das sein dass hier der Fehler liegt? Wenn ich in putty tclsh sendCamShot.tcl eingebe bekomm ich das als Ausgabe VG Alex
wie gesagt email kommt an aber bild ist 1kb im ordner
Code: Alles auswählen
package require base64
set SNAPSHOT_URL "http://192.168.178.46:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=XXXXXX"
set EMAIL_SUBJECT "es hat an der Haustuer geklingelt"
set EMAIL_BODY "siehe Anhang"
set SEND_TO "alexander@XXXXXXX.de"
set SEND_FROM "alexander@XXXXXXX.de"
set SMTP_HOST "smtp.strato.de"
set SMTP_USER "alexander@XXXXXXX.de"
set SMTP_PASSWD "XXXXXXX"
set SMTP_DOMAIN "strato.de"
# DEFINE EMAIL TEMPLATE
set tmpl "To: $SEND_TO
From: $SEND_FROM
Subject: $EMAIL_SUBJECT
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=\"=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk\"
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk
Content-Type: text/plain; charset=\"iso-8859-1\"
Content-Transfer-Encoding: 8bit
$EMAIL_BODY
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk
Content-Type: application/octet-stream; name=\"photo.jpg\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=\"photo.jpg\"
{IMGDATA}
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk--"
# DOWNLOAD THE SNAPSHOT
exec wget -q -O /tmp/snapshot.jpg $SNAPSHOT_URL
# READ SNAPSHOT INTO VARIABLE & BASE64 ENCODE
set fp [open "/tmp/snapshot.jpg" r]
fconfigure $fp -translation binary
set imgdata [read $fp]
set encodeddata [::base64::encode $imgdata]
close $fp
# REPLACE IMG DATA WITH REAL IMAGE DATA
regsub -all "{IMGDATA}" $tmpl $encodeddata tmpl
# WRITE READY EMAIL TO A TMP FILE
set fp [open "/tmp/ready.eml" w]
puts $fp $tmpl
close $fp
set config "
defaults
tls on
tls_certcheck off
logfile /var/log/email.log
account provider
host $SMTP_HOST
from $SEND_FROM
domain $SMTP_DOMAIN
auth login
user $SMTP_USER
password $SMTP_PASSWD
account default: provider
"
set fp [open "/tmp/msmtp.conf" w]
puts $fp $config
close $fp
exec chmod 0600 /tmp/msmtp.conf
# SEND EMAIL USING MSMTP
exec cat /tmp/ready.eml | msmtp -C /tmp/msmtp.conf $SEND_TO
# CLEAN UP
exec rm -f /tmp/msmtp.conf
exec rm -f /tmp/ready.eml
"exec rm -f /tmp/snapshot.jpg"
cat snapshot.jpg hat als ausgabe in der konsole:
/tmp$ cat snapshot.jpg
<html><body><img src="../snapPic/Snap_20160131-115316.jpg"/></body></html>
kann das sein dass hier der Fehler liegt? Wenn ich in putty tclsh sendCamShot.tcl eingebe bekomm ich das als Ausgabe VG Alex
CCU2 * CCU.IO + DashUI + CCUHistorian auf Raspi 1 und 2 * * iPad 2 als Wandtablet * PocketControl HM (iPhone 6 + iPad Pro) * CUxD * Apple watch mit PocketControl HM * * 4x Amazon Alexa mit Homematic Steuerung
Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M
Du hast da also eine HTMl-Seite, in der ein Bild eingebettet ist. Das Problem kenne ich...@Martin_BY:
cat snapshot.jpg hat als ausgabe in der konsole:
/tmp$ cat snapshot.jpg
<html><body><img src="../snapPic/Snap_20160131-115316.jpg"/></body></html>
Da kann kein Bild herauskommen......
Schau mal, ob es einen anderen Befehl gibt, der Deiner Kamera ein "echtes" Bild entlockt.
Muss so sein, da Du die letzte Zeile Deines Scripts in "" gesetzt hast. Nimm die raus und setze ein # vor die Zeile, um sie inaktiv zu machen, solange Du den Fehler mit dem jpg suchst.kann das sein dass hier der Fehler liegt? Wenn ich in putty tclsh sendCamShot.tcl eingebe bekomm ich das als Ausgabe
Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M
Bitteschön.bahnuhr hat geschrieben: Nachtrag:
Bin gerade am probieren (2 Foscam Bilder in einer Mail). Hab ich noch nicht hinbekommen.
Wenn jemand ein lauffähiges Script hat, bitte mal einstellen.
Code: Alles auswählen
#!/bin/tclsh
package require base64
set SNAPSHOT_URL1 http://xxxxxxx
set SNAPSHOT_URL http://xxxxxxx
set EMAIL_SUBJECT "es hat an der Haustuer geklingelt"
set EMAIL_BODY "siehe Anhang"
set SEND_TO xxxxx@t-online.de
set SEND_TO1 xxxxxx@t-online.de
set SEND_FROM Homematic@xxxxx
set SEND_CC xxxxxx@t-online.de
set SMTP_HOST smtp.xxxxxx
set SMTP_USER xxxxxxx
set SMTP_PASSWD xxxxxxx
set SMTP_DOMAIN smtp.xxxxxx
# DEFINE EMAIL TEMPLATE
set tmpl "To: $SEND_TO
From: $SEND_FROM
Subject: $EMAIL_SUBJECT
MIME-Version: 1.0
Content-Type: multipart/message; boundary=\"=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk\"
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk
Content-Type: text/plain
$EMAIL_BODY
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk
Content-Type: application/octet-stream; name=\"photo.jpg\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=\"photo.jpg\"
{IMGDATA}
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk
Content-Type: application/octet-stream; name=\"photo1.jpg\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=\"photo1.jpg\"
{IMGDATA1}
--=_542bc72c.5lV8m7jWYOrj//k2cdijZPr9Fjy8v4J0l/m4onTDRLUmUDMk--"
# DOWNLOAD THE SNAPSHOT
exec wget -q -O /tmp/snapshot.jpg $SNAPSHOT_URL
exec wget -q -O /tmp/snapshot1.jpg $SNAPSHOT_URL1
# READ SNAPSHOT INTO VARIABLE & BASE64 ENCODE
set fp [open "/tmp/snapshot.jpg" r]
fconfigure $fp -translation binary
set imgdata [read $fp]
set encodeddata [::base64::encode $imgdata]
close $fp
set fp [open "/tmp/snapshot1.jpg" r]
fconfigure $fp -translation binary
set imgdata1 [read $fp]
set encodeddata1 [::base64::encode $imgdata1]
close $fp
# REPLACE IMG DATA WITH REAL IMAGE DATA
regsub -all "{IMGDATA1}" $tmpl $encodeddata tmpl
regsub -all "{IMGDATA}" $tmpl $encodeddata1 tmpl
# WRITE READY EMAIL TO A TMP FILE
set fp [open "/tmp/ready.eml" w]
puts $fp $tmpl
close $fp
set config "
defaults
tls on
tls_certcheck off
logfile /var/log/email.log
account provider
host $SMTP_HOST
from $SEND_FROM
domain $SMTP_DOMAIN
auth login
user $SMTP_USER
password $SMTP_PASSWD
account default: provider
"
set fp [open "/tmp/msmtp.conf" w]
puts $fp $config
close $fp
exec chmod 0600 /tmp/msmtp.conf
# SEND EMAIL USING MSMTP
exec cat /tmp/ready.eml | msmtp -C /tmp/msmtp.conf $SEND_TO $SEND_TO1
# CLEAN UP
exec rm -f /tmp/msmtp.conf
exec rm -f /tmp/ready.eml
exec rm -f /tmp/snapshot.jpg
exec rm -f /tmp/snapshot1.jpg