ich möchte meine alte Instar IN-5970HD-POE gegen eine Reolink RLC-820A austauschen. Dazu möchte ich die bestehenden, funktionierenden Scripte anpassen und weiter nutzen. Vielleicht könnte Ihr mir dabei helfen, da ich nicht wirklich mit diesen Scripten vertraut bin.
Der Snapshot per Browser funktioniert.
Code: Alles auswählen
https://192.168.178.55/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=xxxxx&password=xxxxx
Script beim auslösen einer Aktion, z.B. beim betätigen der Klingel:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801003:1.CMD_EXEC").State("cd /usr/local/addons/sendCamShot / && tclsh sendCamShotklingelReolink.tcl");
sendCamShotklingelReolink.tcl:
Dieser Script funktioniert bei der Instar einwandfrei. Nun habe ich bei der Variablen „set SNAPSHOT_URL“ den Link für die Reolink geändert.
Code: Alles auswählen
package require base64
set SNAPSHOT_URL "https://192.168.178.55/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=xxxxx&password=xxxxx"
set EMAIL_SUBJECT "Es hat an der Eingangstuer geklingelt."
set EMAIL_BODY " Foto siehe Anhang"
set SEND_TO "xxxxx"
set SEND_FROM "xxxxx"
set SMTP_HOST "smtp.strato.de"
set SMTP_USER "xxxxx"
set SMTP_PASSWD "xxxxx"
set SMTP_DOMAIN "xxxxx"
# 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_R.jpg $SNAPSHOT_URL
# READ SNAPSHOT INTO VARIABLE & BASE64 ENCODE
set fp [open "/tmp/snapshot_R.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_R.jpg
Leider ist das Bild/ Foto immer 0 KB groß und es wird keine Email versendet.