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

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

Moderator: Co-Administratoren

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 » 23.05.2018, 10:53

In der Datei sendCamShot.tcl (WELCHE Version benutzt du?) gibt es einen Abschnitt:

set config "
defaults
tls on
tls_certcheck off
logfile /var/log/email_sendcamshot.log
account provi...

Also findest du das log entsprechend an der dort aufgeführten Stelle auf der CCU.
Dort also per sFTP hinhangeln oder per SSH oder per HomematicScript.... und nachschauen, was nach Ausführen des Befehls drin steht.

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.

womber
Beiträge: 256
Registriert: 18.05.2014, 14:42

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

Beitrag von womber » 23.05.2018, 14:59

LOG:

Code: Alles auswählen

May 23 09:08:54 host=smtp.strato.de tls=on auth=on user=*****@*****.de from=*****@*****.de recipients=*****@*****.de smtpstatus=550 smtpmsg='550 HELO refused by local policy (MBL-B)' errormsg='SMTP server does not accept EHLO or HELO commands' exitcode=EX_PROTOCOL
ich benutze diese tcl-datei:

Code: Alles auswählen

package require base64

set SNAPSHOT_URL "http://*****: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 "*****@*****.de"
set SEND_FROM "*****@*****.de"
set SMTP_HOST "smtp.strato.de"
set SMTP_USER "*****@*****.de"
set SMTP_PASSWD "*****"
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
So wie ich das sehe, hat mein Provider (Strato) ein Problem ".....does not accept EHLO or HELO commands". Oder sehe ich das falsch?

Alex :)


EDIT:
Habe den Fehler gefunden...
Statt "set SMTP_DOMAIN "strato.de"" habe ich "set SMTP_DOMAIN "www.strato.de" eingetragen. Jetzt geht es wieder :)
VIELEN DANK alchy für deine Hilfe <3 <3 <3

Ich bin jetzt wieder sooo Happy :)
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

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 » 24.05.2018, 07:27

Na also.
Meistens muss man sich keinen neuen Mailaccount zulegen, Backups und Reset und Restoreknöpfe benutzen, eine neue ErsatzCCU für die Ersatz CCU kaufen, die Katze bügeln oder das Haus verkaufen.
Meist reicht es, sich auf eine Fehlersuche zu begeben. :wink:

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.

womber
Beiträge: 256
Registriert: 18.05.2014, 14:42

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

Beitrag von womber » 24.05.2018, 10:56

leicht gesagt wenn man deine Ahnung hat. Aber ich bin froh dass es so nette und hilfsbereite Menschen hier gibt :) Echt die beste Community die hier "rumlungert" ;P
VIELEN DANK!!!! <3

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

mademyday
Beiträge: 268
Registriert: 03.10.2014, 12:46
System: CCU
Wohnort: Enzkreis
Hat sich bedankt: 3 Mal
Danksagung erhalten: 43 Mal

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

Beitrag von mademyday » 08.06.2018, 14:48

ich habe auch seit ein paar Jahren ein abgewandeltes sendCamShot.tcl-Script zum Versenden von binären Anhängen am Laufen, natürlich hier aus dem Forum "geklaut", danke auch von mir für die vielen Anregungen die es hier kostenlos gibt!

nun habe ich auch seit ein paar Wochen eine IP-Cam und wollte natürlich auch Snapshots wie hier beschrieben per Mail versenden, dabei habe ich festgestellt, dass das Base64-Encodieren im TCL-Script "ewig" dauert und die CPU-Last der CCU2 in der Zeit ordentlich hochgeht, zT bis zu 25 Sek. lang für ein FullHD-jpg

meine Lösung dafür: das Umwandeln übernimmt nun das cmdline-Tool uuencode und nicht mehr TCL, das geht in 1-2 Sekunden pro Bild (warum auch immer)

in Bsp.-Code, vorher:

Code: Alles auswählen

  set fp [open "| wget -q --http-user=... --http-password=... \
                http://.../web/tmpfs/snap.jpg?[clock seconds] -O -" r]
      fconfigure $fp -translation binary
      set imgdata [read $fp]
  close $fp

  package require base64
  set encdata [::base64::encode $imgdata]
nachher:

Code: Alles auswählen

  set encdata [ exec wget -q --http-user=... --http-password=... \
        "http://.../web/tmpfs/snap.jpg?[clock seconds]" \
        -O - | uuencode -m dummy | tail +2 | sed "\$d" | tr -d "\\n" ]

Benutzeravatar
Jonnydreambox
Beiträge: 157
Registriert: 29.04.2013, 21:08
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

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

Beitrag von Jonnydreambox » 21.07.2018, 12:55

Hallo,

Da ich ja lange nach einer Ip Cam gesucht hatte die auch Infrarot im unsichtbaren bereich ausgibt 940nm,POE unterstützt,
bin endlich fündig geworden, Arbeitet auch perfekt mit den Script hier zusammen!

https://www.aliexpress.com/store/produc ... 53a0KgN72S

Sehr wertiger Eindruck für kleines Geld.

Wie kann ich im Script einen zweiten email Empfänger hinzufügen ?

mit ; ?

Code: Alles auswählen

package require base64
 
set SNAPSHOT_URL "http://{ip oder Url des Snapshots}/snapshot.cgi?user=admin&pwd="
set EMAIL_SUBJECT "es hat an der Haustuer geklingelt"
set EMAIL_BODY "siehe Anhang"
set SEND_TO "deine@emailadresse.de" :?: 
set SEND_FROM "sendemail@emailadresse.de"
set SMTP_HOST "emailadresse.de"
set SMTP_USER "sendemail@emailadresse.de"
set SMTP_PASSWD "deinPasswort"
set SMTP_DOMAIN "emailadresse.de"
# DEFINE EMAIL TEMPLATE
set tmpl "To: $SEND_TO

gruß& Dank

Jonny
CCU3 Raspberrymatic PI4 ,Dualbeam Antennen & diverse Aktoren,
homee & Alexa
Hausautomatisierung weil es spass macht! 8)

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 Mail

Beitrag von alchy » 21.07.2018, 16:41

Jonnydreambox hat geschrieben:
21.07.2018, 12:55
Wie kann ich im Script einen zweiten email Empfänger hinzufügen ?
Sollte mich wundern, wenn das hier nicht in dem Thread schon Thema war.

EDIT

schnell mal durchgeklickert >> H I E R <<

Alchy
Zuletzt geändert von alchy am 21.07.2018, 16:42, insgesamt 1-mal geändert.
Grund: {

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.

Benutzeravatar
Jonnydreambox
Beiträge: 157
Registriert: 29.04.2013, 21:08
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

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

Beitrag von Jonnydreambox » 21.07.2018, 18:50

:D Dankeschön Alchy

Mit meiner Suche hab ich nichts gefunden, falsche Suchworte wohl

Gruß

Jonny
CCU3 Raspberrymatic PI4 ,Dualbeam Antennen & diverse Aktoren,
homee & Alexa
Hausautomatisierung weil es spass macht! 8)

Benutzeravatar
Jonnydreambox
Beiträge: 157
Registriert: 29.04.2013, 21:08
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

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

Beitrag von Jonnydreambox » 16.01.2021, 21:12

Guten Abend,

seit längeren bekomme ich keine Fotos mehr per mail,

hat sich irgendwas verändert seit ca.oktober ?


VG


Jonny
CCU3 Raspberrymatic PI4 ,Dualbeam Antennen & diverse Aktoren,
homee & Alexa
Hausautomatisierung weil es spass macht! 8)

Lippuner
Beiträge: 103
Registriert: 01.01.2015, 17:23

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

Beitrag von Lippuner » 01.10.2022, 15:41

Liebe Community

Ich möchte mit dem Homematic E-Mail Addon beim Klingeln an der Haustüre den Snapshot einer Kamera versenden. Dazu benutze ich den Anweisungen in diesem Thread folgend (besten Dank an Bahnuhr und Alchy für deren Arbeit) im Homematic Programm das folgende Skript:

script.JPG

Auf der CCU ist dazu das folgende File abgelegt:
package require base64.txt
(4.05 KiB) 41-mal heruntergeladen

Mit der darin enthaltenen URL-Adresse kann ich im Chrome-Browser auch einen Snapshot erstellen. Das funktioniert alles problemlos. Auch der Versand funktioniert. Das Problem ist nur, dass nicht der Snapshot, also die jpg-Datei, sondern das File

sendCamShotHauseingang.tcl

als Anhang versendet wird.

Was mache ich nur falsch? Weiss jemand Rat?

Beste Grüsse aus der Schweiz

Antworten

Zurück zu „CCU.IO“