Seite 7 von 9
Re: SystemExec durch CuxD ersetzen -> vorher / nachher
Verfasst: 17.08.2016, 20:35
von pdulles
dondaik hat geschrieben:interessante aufgabenstellung: wie schalte ich ein gerät elektronisch per software ein welches hardwaremäßig aus ist und nicht im standbymodus...
Da es hierbei nicht um einen EIN/AUS Schalter handelt sondern um einen Taster, der auch nur einen Befehl auslöst,
könnte es ja schon sein, diesen Befehl per Software zu steuern
Re: SystemExec durch CuxD ersetzen -> vorher / nachher
Verfasst: 18.08.2016, 09:51
von Homoran
Dazu müsste aber wenigstens die Netzwerkkarte unter Strom sein. Und das ist sie imho im deep standby nicht.
Gruß
Rainer
Re: SystemExec durch CuxD ersetzen -> vorher / nachher
Verfasst: 18.08.2016, 10:14
von t_heinrich
Man muss einen IR Befehl senden. zB mittels IRTrans.
Gesendet von iPhone mit Tapatalk
Re: SystemExec durch CuxD ersetzen -> vorher / nachher
Verfasst: 17.10.2016, 21:48
von ichdertyp
Hallo liebe Helfer,
ich habe ein Problem bei den Einstellungen der Mail-Benachrichtigung bei "Klingel". Lustigerweise hat es zwischendurch geklappt und nun leider nicht mehr.
Das Skript:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("cd /usr/local/addons/sendCamShot/ && tclsh sendCamShot.tcl");
Das tcl:
Code: Alles auswählen
package require base64
set SNAPSHOT_URL "http://benutzer:passwort@192.168.xxxxxxx/Streaming/Channels/1/picture"
set EMAIL_SUBJECT "Es hat geklingelt"
set EMAIL_BODY "Diese Person hat geklingelt:"
set SEND_TO "meine adresse"
set SEND_FROM "sende-adresse"
set SMTP_HOST „host“
set SMTP_USER "benutzer"
set SMTP_PASSWD "passwort"
set SMTP_DOMAIN "sende-adresse nach dem @"
# 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
kann mir jemand helfen? Danke im Voraus
IchDerTyp
Re: SystemExec durch CuxD ersetzen -> vorher / nachher
Verfasst: 17.10.2016, 22:05
von alchy
Wieso denkst du, das hätte irgendetwas mit cuxd zu tun?
Das
>> H I E R << gelesen?
die sendCamShot.tcl Datei auf der Kommandozeile aufgerufen ergibt welche Fehlermeldung?
....
Alchy
Re: SystemExec durch CuxD ersetzen -> vorher / nachher
Verfasst: 18.10.2016, 09:46
von ichdertyp
Hey Alchy,
danke für die schnelle Antwort
ich habe meine Anfrage versehentlich hier gepostet, eigentlich sollte sie in den von dir verlinkten Bereich, den ich selbstverständlich durchforstet habe. Ob ich alles verstanden habe steht auf einem anderen Blatt
von mir aus gerne dort weiter...
Nun zur tcl: wo finde ich die Kommandozeile? In Filezilla kann ich keine finden
Re: SystemExec durch CuxD ersetzen -> vorher / nachher
Verfasst: 19.11.2016, 11:41
von mike08
HAllo,
kann "/usr/local/addons/cuxd/extra/ether-wake -die-MAC-" direkt auf "KEY|CMD_SHORT" von "CUX2801002" legen oder wie ist der richtige Eintrag.
Habe schon viel gelesen und sicherlich einiges überlesen! Vielleicht hat einer einen schnellen Verweis. Danke!
Grüße
Michael
Re: SystemExec durch CuxD ersetzen -> vorher / nachher
Verfasst: 19.11.2016, 12:39
von mike08
mike08 hat geschrieben:Hallo,
kann "/usr/local/addons/cuxd/extra/ether-wake -die-MAC-" direkt auf "KEY|CMD_SHORT" von "CUX2801002" legen oder wie ist der richtige Eintrag.
JA!
Re: SystemExec durch CuxD ersetzen -> vorher / nachher
Verfasst: 19.11.2016, 13:21
von alchy
ichdertyp hat geschrieben:
Nun zur tcl: wo finde ich die Kommandozeile? In Filezilla kann ich keine finden
Kommandozeile:
- SSH auf der CCU2 einschalten und ein Passwort vergeben wie >> H I E R << auf dem Bild angezeigt.
- mittels >> PUTTY << musst du dann eine Verbindung per ssh zur CCU aufbauen
mike08 hat geschrieben:kann "/usr/local/addons/cuxd/extra/ether-wake -die-MAC-" direkt auf "KEY|CMD_SHORT" von "CUX2801002" legen oder wie ist der richtige Eintrag.
Jupp
Code: Alles auswählen
/usr/local/addons/cuxd/extra/ether-wake 00:11:22:33:44:55
da ja
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/usr/local/addons/cuxd/extra/ether-wake 00:11:22:33:44:55");
Alchy
Re: SystemExec durch CuxD ersetzen -> vorher / nachher
Verfasst: 20.11.2016, 11:14
von MoritzWB
Hallo Zusammen,
ich möchte das meine Waschmaschine mir eine Nachricht sendet wenn sie fertig ist. Wie das prinzipiell geht ist mir klar, ich bin soweit, dass die CCU "nur" noch einen http oder https Link aufrufen muss damit die Nachricht ankommt. Und da hängt es jetzt.
Ich habe um das Ganze zu testen mir einfach mal angenommen, dass ich mit einem Zeitwert X das Skript ausführe und möchte dies tun. Ich habe leider keine Ahnung woran es hängt und habe den Link sowohl als SystemExec und mit CuxD eingefügt, aber nichts.
Wäre nett, wenn ihr mal über die Skripts schaut und mir noch ein Tipp geben könnt, wie ich teste ob die CCU überhaupt was tut, wie kann ich ein Skript direkt testen, und wie könnte ich die zeitgesteuerte Ausführung von irgendetwas am einfachsten testen?
Code: Alles auswählen
string stderr;
string stdout;
string url="\"https://api.telegram.org/botXXX:XXX/sendMessage?chat_id=XXX&text=Wäsche ist fertig!"";
system.Exec("wget –no-check-certificate -q -O – "#url, &stdout, &stderr);
Code: Alles auswählen
string url="https://api.telegram.org/botXXX:XXX/sendMessage?chat_id=XXX&text=Wäsche ist fertig!";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - "#url);