Lösung: Klingel erzeugt Bild von Foscam und sendet per Mail

WebUIs (DashUI, yahui, ...), Adapter (Hue, IRTrans, Sonos, ...), Logging, Scripting

Moderator: Co-Administratoren

Ritschi
Beiträge: 587
Registriert: 07.11.2012, 08:02
Wohnort: Schweiz, Graubünden
Hat sich bedankt: 25 Mal
Danksagung erhalten: 9 Mal

Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M

Beitrag von Ritschi » 30.09.2015, 22:33

Ich denke es muss irgendwie am Skript sendCamShot.tcl liegen, da ich ja sonst täglich Mails von meiner ccu mit diesen Einstellungen erhalte.

Gruss
Ritschi
Raspberry-Matic auf Tinkerboard, Mediola Gateway V3, Mediola Gateway V2, iobroker, Homebridge-homematic auf Mac, Homeassistant

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M

Beitrag von alchy » 01.10.2015, 07:58

Ritschi hat geschrieben:Ich denke es muss irgendwie am Skript sendCamShot.tcl liegen, da ich ja sonst täglich Mails von meiner ccu mit diesen Einstellungen erhalte.

Gruss
Ritschi
Wenn du mit sendcamshot.tcl die Mail verschickst, liegt es auch an der sendcamshot.tcl bzw. in dessen Einstellungen.
Das Email Addon hat ja in dem Fall auch nichts mit dem Mailversand zu tun.
Der Logauszug kann aber auch vom Emailaddon sein, da beide dieselbe logdatei verwenden.
Testweise würde ich das dann mal umschreiben.

Dann schreibst du
Mir wird das snapshot.jpg und ready.eml im Ordner erstellt, jedoch wird nichts versendet.
d.h. du hast das sendcamshot script bearbeitet.
Sollte das Log vom sendcamshot sein, benutze einen anderen Account. Mit bluewin.ch habe ich keinerlei Erfahrungen, da du augenscheinlich auch einen 1&1 Account besitzt, trage bitte diesen in der sendcamshot ein und dann poste mal endlich deine sendcamshot.tcl (natürlich anonymisiert)

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Ritschi
Beiträge: 587
Registriert: 07.11.2012, 08:02
Wohnort: Schweiz, Graubünden
Hat sich bedankt: 25 Mal
Danksagung erhalten: 9 Mal

Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M

Beitrag von Ritschi » 01.10.2015, 16:40

Hi Alchy
Ich habe keinen 1&1 account, nur einen gmx, extra wegen diesem Script erstellt.

Hier mal endlich mein sendCamShot.tcl :)

Code: Alles auswählen

package require base64

set SNAPSHOT_URL "192.168.1.---/image/jpeg.cgi"
set EMAIL_SUBJECT "es hat an der Haustuer geklingelt"
set EMAIL_BODY "siehe Anhang"
set SEND_TO "meineadresse@gmx.ch"
set SEND_FROM "meineadresse@gmx.ch"
set SMTP_HOST "mail.gmx.ch"
set SMTP_USER "meineadresse@gmx.ch"
set SMTP_PASSWD "MeinPasswort"
set SMTP_DOMAIN "mail.gmx.ch"

# 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
Dass der Mailversand nichts mit dem Mail addon zu tun hat, wusste ich als laie natürlich nicht.
der log Auszug den ich gepostet hatte bezieht sich allerdings schon auf die sendCamShot.tcl.

habe im Script das logfile nun separat abgelegt.
es wird nun eine Datei namens sendcamshot_email.log erstellt.

Hier nun wieder folgende bekannte Meldung:

Code: Alles auswählen

Oct 01 16:58:00 host=mail.gmx.ch tls=on auth=on user=meinmail@gmx.ch from=meinmail@gmx.ch recipients=meinmail@bluewin.ch errormsg='the server does not support TLS via the STARTTLS command' exitcode=EX_UNAVAILABLE


Gruss
Ritschi
Raspberry-Matic auf Tinkerboard, Mediola Gateway V3, Mediola Gateway V2, iobroker, Homebridge-homematic auf Mac, Homeassistant

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M

Beitrag von alchy » 01.10.2015, 19:47

Ritschi hat geschrieben:Hi Alchy
Ich habe keinen 1&1 account, nur einen gmx, extra wegen diesem Script erstellt.
ach, das war bahnuhr der das mit dem 1&1 account gepostet hat. :shock:

Egal, ich habe auch mal einen gmx Account benutzt mit der sendcamshot.
Ebenso problemlos möglich, allerdings in der deutschen Version.
Ob es da Unterscheide gibt, kann ich nicht sagen. Zur Sicherheit noch mal mein Script auf der CCU2.
(habe aber in deinem keine Unterschiede gefunden, und auch mal deines benutzt, problemlos)

Code: Alles auswählen

package require base64

set SNAPSHOT_URL "http://192.168.178.88:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture....."
set EMAIL_SUBJECT "es hat geklingelt"
set EMAIL_BODY "Es hat geklingelt"
set SEND_TO "+++++++++l@gmail.com"
set SEND_FROM "++++++@gmx.de"
set SMTP_HOST "mail.gmx.net"
set SMTP_USER "++++++@gmx.de"
set SMTP_PASSWD "+++++++"
set SMTP_DOMAIN "mail.gmx.net"


# 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/sendcamshot.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
Ritschi hat geschrieben: Dass der Mailversand nichts mit dem Mail addon zu tun hat, wusste ich als laie natürlich nicht.
der log Auszug den ich gepostet hatte bezieht sich allerdings schon auf die sendCamShot.tcl.
Deshalb habe ich es ja geschrieben, da ich es schon vermutet hatte.

Ritschi hat geschrieben: Hier nun wieder folgende bekannte Meldung:

Code: Alles auswählen

Oct 01 16:58:00 host=mail.gmx.ch tls=on auth=on user=meinmail@gmx.ch from=meinmail@gmx.ch recipients=meinmail@bluewin.ch errormsg='the server does not support TLS via the STARTTLS command' exitcode=EX_UNAVAILABLE
Hast du eine CCU1 oder 2?
welche Version von msmtp ist bei dir drauf?
per putty mit der ccu verbinden und:

Code: Alles auswählen

msmtp --version
Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Ritschi
Beiträge: 587
Registriert: 07.11.2012, 08:02
Wohnort: Schweiz, Graubünden
Hat sich bedankt: 25 Mal
Danksagung erhalten: 9 Mal

Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M

Beitrag von Ritschi » 01.10.2015, 20:48

Ich habe die CCU2

Meine Verison:

# msmtp --version
msmtp version 1.4.27
Raspberry-Matic auf Tinkerboard, Mediola Gateway V3, Mediola Gateway V2, iobroker, Homebridge-homematic auf Mac, Homeassistant

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M

Beitrag von alchy » 01.10.2015, 21:21

mmh, also auch gleich.
Dann fällt mir im Moment nichts mehr ein, ausser du legst dir halt einen
deutschen gmx Account zu zum Testen.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Ritschi
Beiträge: 587
Registriert: 07.11.2012, 08:02
Wohnort: Schweiz, Graubünden
Hat sich bedankt: 25 Mal
Danksagung erhalten: 9 Mal

Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M

Beitrag von Ritschi » 01.10.2015, 21:38

Ist es denn möglich msmtp upzudaten?
Ich habe hier im Forum soeben gesehen, dass es eine Version 1.4.32 gibt.

http://homematic-forum.de/forum/viewtop ... U2#p165400

Eigener .de account kann ich leider nicht anlegen, springt mir immer direkt auf .ch Seite.
Gruss
Ritschi
Raspberry-Matic auf Tinkerboard, Mediola Gateway V3, Mediola Gateway V2, iobroker, Homebridge-homematic auf Mac, Homeassistant

Ritschi
Beiträge: 587
Registriert: 07.11.2012, 08:02
Wohnort: Schweiz, Graubünden
Hat sich bedankt: 25 Mal
Danksagung erhalten: 9 Mal

Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M

Beitrag von Ritschi » 05.10.2015, 21:09

Hallo

Ich habe die Lösung endlich gefunden!

Ich musste die sendcamshot.tcl mit folgendem ergänzen: tls_starttls off

Hier der Auszug:

Code: Alles auswählen

set config "
defaults
tls on
tls_starttls off
tls_certcheck off
logfile /var/log/sendcamshot_email.log
account provider
host $SMTP_HOST
from $SEND_FROM
domain $SMTP_DOMAIN
auth login
user $SMTP_USER
password $SMTP_PASSWD
account default: provider
"
Gruss
Ritschi
Raspberry-Matic auf Tinkerboard, Mediola Gateway V3, Mediola Gateway V2, iobroker, Homebridge-homematic auf Mac, Homeassistant

Pahan
Beiträge: 124
Registriert: 16.07.2014, 12:29
Hat sich bedankt: 7 Mal

Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M

Beitrag von Pahan » 17.11.2015, 10:25

Hallo zusammen,

ich bekomme es irgendwie nicht hin.
Mein Script sieht exakt so aus, wie Eures.
Das Programm und der FTP Ordner sehen aus, wie angehängt.
Der HTML Aufruf des Screenshots funktioniert auch, habe eine Foscam 9803P.
Ich habe das jetzt mal probeweise nicht auf die Klingel gelegt, sondern auf einen zeitlichen Ablauf (bspw. je Minute ein Snapshot)
Der "normale" Email-Versand über die CCU funktioniert.

Habe ich irgendwo einen Denkfehler?

Code: Alles auswählen

package require base64

set SNAPSHOT_URL "http://192.168.xxx.xxx:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxxx&pwd=xxxxx
set EMAIL_SUBJECT "es hat an der Haustuer geklingelt"
set EMAIL_BODY "siehe Anhang"
set SEND_TO "xxxxxx@gmx.de"
set SEND_FROM "xxxxxxxxx@gmx.de"
set SMTP_HOST "mail.gmx.net"
set SMTP_USER "xxxxxxxx@gmx.de"
set SMTP_PASSWD "xxxxxxxxxxx"
set SMTP_DOMAIN "mail.gmx.net"


    # 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

Dateianhänge
snapshot_ftp_ordner.JPG
snapshot_programm.JPG

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Lösung: Klingel erzeugt Bild von Foscam und sendet per M

Beitrag von alchy » 18.11.2015, 10:26

Mit der normale Email Versand meinst du den Versand über das Emailaddon?
Der hat mit dem Script überhaupt nichts zu tun.
Was du nicht gepostet hast ist das Script, welches die Sendcamshot.tcl.tcl aufruft.
Was sagt das Log?

Alchy
35Grad die Sonne lacht

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Antworten

Zurück zu „CCU.IO“