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

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

Moderator: Co-Administratoren

Monck
Beiträge: 170
Registriert: 13.03.2011, 22:07
Danksagung erhalten: 1 Mal

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

Beitrag von Monck » 28.02.2016, 10:06

Kindergarten *kopfschüttel*

runaway
Beiträge: 9
Registriert: 20.04.2016, 11:51

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

Beitrag von runaway » 20.04.2016, 12:06

Hallo zusammen,

auch wenn der Thread schon älter ist, finde ich den höchst interessant und wollte mich kurz dazu äußern:

Bisher habe ich hier auch immer nur mitgelesen und bin nur über Google in das Forum gestolpert (wie auch in diesen Thread hier).

Allerdings konnte ich hier so viele Infos von gebrauchen, dass ich allen nur kurz "danke" sagen wollte.

Mein besonderer Dank geht noch an 'Bahnuhr', welcher diesen Thread überhaupt eröffnet hat und an 'Martin_BY', der ein ähnliches Kameramodell hat und ich das Script für die URL-Umwandlung und den gleichzeitigen FTP-Upload für das Livebild des Fritzfon nutzen konnte. Es hat perfekt geklappt. Sonst hätte ich mir eine neue Kamera kaufen müssen!

@Martin_BY: Hast Du noch eine Schleife eingebaut, die das Kamerabild alle 1-2 Sekunden aktualisiert, damit man es auf dem Fritzfon sehen kann? (ich denke mal, dass Du es dafür haben wolltest).

Viele Grüße
runaway

bahnuhr
Beiträge: 473
Registriert: 25.02.2014, 13:42
Danksagung erhalten: 1 Mal

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

Beitrag von bahnuhr » 23.04.2016, 08:06

Guten Morgen an alle,

habe im Beitrag 1
http://homematic-forum.de/forum/viewtop ... 02#p204100
eine Ergänzung vorgenommen.

Eingefügt sind nun die endgültigen Scripte (mit Hilfe von alchy).

- 1 Kamera Bild an Mail
- 2 Kamera Bilder an Mail
- 7 Kamera Bilder an Mail

Die Dateien müsste ihr natürlich mit euren Daten ergänzen bzw. abändern.

mfg
bahnuhr
CCU2, iobroker, 264 Kanäle in 124 Geräten und 21 CUxD-Kanäle in 13 CUxD-Geräten

Pierre
Beiträge: 6
Registriert: 21.04.2016, 20:11

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

Beitrag von Pierre » 02.05.2016, 00:00

Besten Dank an bahnuhr!!!
Mit meinen Instar Kameras funktioniert alles bestens!

Borland
Beiträge: 415
Registriert: 28.10.2015, 21:12
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

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

Beitrag von Borland » 15.05.2016, 15:01

spaceduck hat geschrieben:Hallo,

log Dich mal mit ssh in die CCU ein und starte das script mal von der Shell.

tclsh /usr/local/addons/sendCamShot/sendCamShot.tcl

Bekommst Du Fehlermeldungen?

Jan
Moin,

ich bekomme dann diese Fehlermeldung:

Code: Alles auswählen

# tclsh /usr/local/addons/sendCamShot/sendCamShot.tcl
child process exited abnormally
    while executing
"exec wget -q -O /tmp/image.jpg $SNAPSHOT_URL                                                        "
    (file "/usr/local/addons/sendCamShot/sendCamShot.tcl" line 37)

Es wird weder ein Bild gespeichert noch eine Mail gesendet.
Wenn ich die URL im Browser eingebe bekomme ich ein Snapshot der Kamera angezeigt.

Kann mir jemand helfen ?

Das ist meine sendCamShot.tcl

Code: Alles auswählen

package require base64

set SNAPSHOT_URL "http://192.168.2.76:8499/jpg/image.jpg?size=3"
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 "smpt.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
Das steht in der CCU2 im Script wenn der Klingelsensor auslöst

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("cd /usr/local/addons/ && tclsh sendCamShot.tcl");

Danke und Gruß

B.

Borland
Beiträge: 415
Registriert: 28.10.2015, 21:12
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

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

Beitrag von Borland » 15.05.2016, 16:23

Update.

Nachdem ich jetzt mal alles neu gestartet habe, landet tatsächlich ein "snapshot.jpg" im tmp Verzeichnis auf der CCU2 :-)
Schon mal ein Schritt weiter.
Eine Mail wird jedoch nicht versendet.
Da die CCU2 aber sonst ganz normal Mails versendet und ich die gleichen (Zugangs)Daten in der sendCamShot.tcl hinterlegt habe glaube ich schon mal nicht das es daran liegt.

Wenn jemand sachdienliche Hinweise liefern kann dann gerne ;-)

Danke und Gruß

B.

Borland
Beiträge: 415
Registriert: 28.10.2015, 21:12
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

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

Beitrag von Borland » 15.05.2016, 17:00

So, jetzt komm ich nicht mehr weiter.

Es wird einfach keine Mail versendet. Die Zugangsdaten etc. sind richtig, da bin ich mir sicher.
Sobald ich meine Klingel betätige landet das Bild von der Kamera im tmp Verzeichnis der CCU2.
Danach passiert aber nichts mehr, es wird z.B. keine ready.eml erstellt.

(Anm: im Code der oben geposteten sendCamShot.tcl hatte ich einen Buchstabendreher bei SMTP_Domain, das habe ich aber bereits geändert)

Jetzt bräuchte ich wirklich Hilfe ;-)

Danke und Gruß

B.

Borland
Beiträge: 415
Registriert: 28.10.2015, 21:12
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

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

Beitrag von Borland » 15.05.2016, 17:42

und schon ist die erste Freude wieder weg ;-)
Snapshot.jpg hat 0b :-(

irgendwie ist hier ein fetter Wurm drin ...

Borland
Beiträge: 415
Registriert: 28.10.2015, 21:12
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

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

Beitrag von Borland » 15.05.2016, 20:17

jetzt gehts :-)

Bild kommt mit Daten an, Email geht raus :-)

Ich musste in der Kamera folgendes aktivieren:
User Settings
Enable anonymous viewer login (no user name or password required)

Solange die Kamera User und Passwort wollte landete nur ein 0KB Bild im CCU2 tmp Verzeichnis.

Da mein Netzwerk zuhause eh dicht ist (keine offenen Ports, von außen nur über VPN Zugang, SSID unsichtbar etc.) und ich in einem Wohngebiet mit Einfamilienhäusern lebe (wer will hier schon mein AES verschlüsseltes WLAN knacken) kann ich damit leben ...

Hat mich einige Stunden gekostet, aber vielleicht steht ja mal jemand genau wie ich auf dem Schlauch und es hilft ihm ;-)

Gruß

B.

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

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

Beitrag von alchy » 16.05.2016, 11:00

Es funktioniert es bei dir mit vorhandenen Zugangsdaten nicht,
da du ja auch keine Zugangsdaten
im Link zum Bild in der Config

Code: Alles auswählen

"http://192.168.2.76:8499/jpg/image.jpg?size=3"
übergibst. :shock:
Daher funktioniert es erst mit komplett freigegebenen Zugang zur Kamera.
(Was mit Verlaub absoluter Blödsinn, aber wohl gängige Praxis ist. Hauptsache es geht.)
Kamera wird auch nicht genannt, Glaskugel ist verpackt.

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.

Antworten

Zurück zu „CCU.IO“