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

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

Moderator: Co-Administratoren

FrankO
Beiträge: 9
Registriert: 30.01.2013, 14:28

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

Beitrag von FrankO » 01.07.2016, 14:33

Das hat leider nichts gebracht. Hatte ich auch schon gesehen und versucht.

Was er aber macht ist folgendes:
nach anpassen der Zeile:
exec cat /tmp/ready.eml | /usr/local/etc/config/addons/email/msmtp -C /tmp/msmtp.conf $SEND_TO
bekomme ich keine Log-Datei mehr
Der Snapshot wird immer noch sauber erzeugt.

Das EmailAddon habe ich auch in Benutzung, jedoch mit den Gmail Daten.
Das funktioniert.

Verstehe ich das richtig, dass die Änderung der Zeile bewirkt, dass er die msmtp.conf vom
EmailAddon ins tmp Verzeichnis kopieren soll?

Er legt jedoch immer wieder die gleiche, aus den Daten der sendCamShot.tcl an.
Da hier noch die gmx Einstellungen drin waren, habe ich das gut sehen können.

Ein Versuch mit den gmail Daten in der tcl hat auch nichts gebracht.

Hast du da evtl. noch einen Trick für mich?

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

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

Beitrag von alchy » 01.07.2016, 18:11

Bitte nichts durcheinander bringen. Mein Hilfeversuch bezieht sich lediglich auf die Verwendung einer anderen msmtp.
Das hatte ich schon mal als hilfreich bei handshake Problemen auf der CCU1??? da dort eine alte Version verwendet wird.
Deine Vermutung ist im Übrigen falsch. Es wird sozusagen nur eine anderes Programm verwendet, welches die Mail verschickt.

PS: Wenn ich ein Fragenzeichen verwende, wird das wohl bedeuten, daß ich eine Frage stelle. Irgendwo hier im Thread habe ich geschrieben. Wie man die Datei von Kommandozeile startet usw. Bitte die davon die Ausgabe Posten UND das verwendete Script

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.

ele
Beiträge: 35
Registriert: 01.12.2014, 12:18

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

Beitrag von ele » 01.07.2016, 22:17

Hallo Leute, ich habe schon öfter hier reingeschaut bin aber noch nicht dazu gekommen mir eine cam einzusetzen.
Einen Gong habe ich schon lange und nun merke ich doch öfters wissen möchte wer bei mir geklingelt hat[emoji6] wer kann mir eine cam empfehlen und helfen diese mit einzubringen?

Gruß und danke im voraus

Stefan

FrankO
Beiträge: 9
Registriert: 30.01.2013, 14:28

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

Beitrag von FrankO » 02.07.2016, 01:13

"alchy"Bitte nichts durcheinander bringen. Mein Hilfeversuch bezieht sich lediglich auf die Verwendung einer anderen msmtp.
Das hatte ich schon mal als hilfreich bei handshake Problemen auf der CCU1??? da dort eine alte Version verwendet wird.
Deine Vermutung ist im Übrigen falsch. Es wird sozusagen nur eine anderes Programm verwendet, welches die Mail verschickt.

PS: Wenn ich ein Fragenzeichen verwende, wird das wohl bedeuten, daß ich eine Frage stelle. Irgendwo hier im Thread habe ich geschrieben. Wie man die Datei von Kommandozeile startet usw. Bitte die davon die Ausgabe Posten UND das verwendete Script

Alchy



Das Ergebnis von tclsh SendCamShot.tcl lautet:

msmtp: TLS handshake failed: a protocol violating EOF occured
msmtp: could not send mail (account default from /tmp/msmtp.conf)
while executing
"exec cat /tmp/ready.eml | msmtp -C /tmp/msmtp.conf $SEND_TO"
(file "sendCamShot.tcl" line 76)

Die SendCamShot.tcl sieht so aus:

Code: Alles auswählen

package require base64

set SNAPSHOT_URL "http://192.168.1.118:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=***&pwd=***"
set EMAIL_SUBJECT "Es hat an der Haustuer geklingelt !"
set EMAIL_BODY "siehe Anhang"
set SEND_TO "***@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/email_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

Mit der geänderten Zeile, bekomme ich dieses Ergebnis bei tclsh SendCamShot.tcl:

couldn't execute "/usr/local/etc/config/addons/email/msmtp": no such file or directory
while executing
"exec cat /tmp/ready.eml | /usr/local/etc/config/addons/email/msmtp -C /tmp/msmtp.conf $SEND_TO"
(file "sendCamShot.tcl" line 76)


Hier die dazu angepasste tcl

Code: Alles auswählen

package require base64

set SNAPSHOT_URL "http://192.168.1.118:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=***&pwd=***"
set EMAIL_SUBJECT "Es hat an der Haustuer geklingelt !"
set EMAIL_BODY "siehe Anhang"
set SEND_TO "***@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/email_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 | /usr/local/etc/config/addons/email/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

Benutzeravatar
HMside
Beiträge: 625
Registriert: 22.10.2012, 18:14
Danksagung erhalten: 7 Mal

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

Beitrag von HMside » 02.07.2016, 01:33

Nur mal so zur Info, auch das Email-Addon beherrscht seit kurzem den Versand von Dateianhängen (Snapshot). http://homematic-forum.de/forum/viewtopic.php?t=18610

@ele
Um eine Empfehlung für eine Kamera aussprechen zu können, sind ein paar Infos erfolgreich.
- Indoor/Outdoor
- Entfernung zum zu erfassenden Bereich
- Wie breit ist die zu erfassende Fläche

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

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

Beitrag von alchy » 02.07.2016, 12:40

@FrankO
Die original bringt ein Handshakeproblem beim Versenden der Mail, das war bekannt.

Die Fehlermeldung der abgeänderten Version weißt darauf hin, das du entweder das Mailaddon erst gar nicht installiert hast, oder die Berechtigung auf die Datei verkorkst ist, was fast schon nicht möglich ist.

Schau mal händisch nach im Ordner:

Code: Alles auswählen

/usr/local/etc/config/addons/email/
sollte eine Datei

Code: Alles auswählen

msmtp 
liegen.

natürlich ist der Hinweis, von HMside berechtigt.
Du kannst natürlich auch direkt das Email addon benutzen um ein Bild einer Kamera per Mail zu verschicken.

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.

FrankO
Beiträge: 9
Registriert: 30.01.2013, 14:28

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

Beitrag von FrankO » 02.07.2016, 13:37

Hallo,

ich habe das Email Addon installiert und auch eine msmtp.conf Datei im Pfad liegen.
An den Rechten sollte ja nichts verändert sein.

Ich werde mir mal die neue Möglichkeit des Email Addon anschauen.

Weisst du, ob ich diesen String nutzen kann,
damit ich das Bild von meiner Foscam verschickt kriege?

http://192.168.1.118:88/cgi-bin/CGIProx ... r=***&pwd=***

FrankO
Beiträge: 9
Registriert: 30.01.2013, 14:28

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

Beitrag von FrankO » 02.07.2016, 13:55

Es funktioniert :D

Nachdem ich gesehen habe, dass das Email Addon, doch sehr alt war, habe ich es upgedatet.
Nun, mit der angepasster Zeile:

exec cat /tmp/ready.eml | /usr/local/etc/config/addons/email/msmtp -C /tmp/msmtp.conf $SEND_TO

für eine CCU1, bekomme ich eine EMail.

Danke für die Hilfe.

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

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

Beitrag von alchy » 02.07.2016, 19:07

Na siehst du, kaum macht man es richtig....

Freut mich, geholfen zu haben.

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.

ele
Beiträge: 35
Registriert: 01.12.2014, 12:18

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

Beitrag von ele » 04.07.2016, 22:23

HMside hat geschrieben:Nur mal so zur Info, auch das Email-Addon beherrscht seit kurzem den Versand von Dateianhängen (Snapshot). http://homematic-forum.de/forum/viewtopic.php?t=18610

@ele
Um eine Empfehlung für eine Kamera aussprechen zu können, sind ein paar Infos erfolgreich.
- Indoor/Outdoor
- Entfernung zum zu erfassenden Bereich
- Wie breit ist die zu erfassende Fläche
@HMside

Ich denke mal das eine Outdoor cam in Frage kommen wir die ich unter die Gesims Schrauben möchte die Entfernung wird dann Ca 2m sein

Lg Ele

Antworten

Zurück zu „CCU.IO“