ich habe noch immer Probleme damit, dass das Skript Servicemeldungen *allinclusive* Script von alchy nicht funktioniert, siehe Thread viewtopic.php?f=31&t=24618&start=850. Damit ich den dortigen Thread nicht unnötig in die Länge ziehe, möchte ich gerne einen eigenen eröffnen. Zumal ich versehentlich meine korrekten Daten gepostet hatte und die Nachrichten von alchy bei mir eingegangen sind. Somit kann der Fehler nur auf meiner Seite liegen.
Ich kann mir das ganze nicht wirklich erklären, weswegen ich nun Schritt für Schritt beschreiben möchte, welche Tätigkeiten ich durchgeführt habe.
Mein Raspberrymatic wurde in der Zwischenzeit mehrfach neu installiert, d.h. das Image neu auf die SD-Karte aufgespielt und CUXD eingerichtet. Da es inzwischen die neusten Versionen gibt, habe ich diese heute ebenfalls installiert. Das bedeutet aktuell:
Raspmatic: 2.27.7.20170316
CUXD: Version 1.9
Nach dem ersten Start von Raspmatic habe ich CUXD installiert:
- Auf der CUXD-Oberfläche unter Geräte als Gerätetyp 28 System ausgewählt, danach bei der Funktion Exec und als Geräte-Icon Fernbedienung 19 Tasten.
- Das Gerät wurde danach auf Raspmatic WebUI unter Geräte->Posteingang erkannt und fertig gestellt.
- Anschließend erfolgte ein kontrollierter Neustart der Raspmatic
Code: Alles auswählen
WriteLine(dom.GetObject(41).Name());
Code: Alles auswählen
${sysVarServiceMessages}
Code: Alles auswählen
dom.GetObject(41).Name("Servicemeldungen");
Code: Alles auswählen
!++++++ TELEGRAM +++++++++
var USE_TELEGRAM = "ja"; ! ja oder nein für die Verwendung TELEGRAM direkt im Script;
var CHATID = "CHATID"; ! selbsterklärend
var BOTAPI = "BOTAPI"; ! dito
var TELEGRAM_CUXD_ID = "CUX2801001:1"; !welches CUXD.EXEC Gerät mit Kanal soll verwendet werden ?
Code: Alles auswählen
!+++++++ Systemvariablen Setup ++++++
! 1. Vor Benutzung Systemvariable vom Typ Zeichenkette in CCU anlegen,
var USE_SYSVAR = "ja"; ! ja / nein Speichern der Ausgabe des Scriptes in Systemvariable
var SYSVAR_NAME = "varService"; ! hier den Namen dieser Variablen eintragen
Anschließend habe ich einen HMIP-SWDO (Fensterkontakt) angelernt und entsprechend einen Namen gegeben. Anzeige vorher: Um eine Servicemeldung zu erzeugen, entnehme ich die Abdeckung, sodass der Typ Sabotage erzeugt wird. Die Variable varService verändert teilweise auch die Bezeichnung und zeigt alles an, allerdings bleibt "ALTE Servicemeldung" drin stehen. Sobald ich den Deckel wieder drauf mache, nimmt die Variable varService den Wert "ALTE Servicemeldung" wieder an.
Anzeige danach: Das ist die Anzeige, die alchy in dem oben aufgeführten Thread angefragt hatte.
Das folgende Skript habe ich gefunden um zu schauen ob das mit CUxD und Telegram grundsätzlich funktioniert.Wenn du das "Speichern in Variable" jetzt auch aktiviert hast, schau doch bitte mal, was in der Variablen steht, nachdem du eine neue Servicemeldung erzeugst.
Dieses habe ich bei Skript testen eingegeben und die Nachricht kommt bei mir an.
Code: Alles auswählen
string message = "Tagestest";
string chatid = "ChATID"; ! chat_id des Empfängers
string botAPI = "BOTAPI"; ! API des eingerichteten Bots
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("extra/curl -s -k https://api.telegram.org/bot"#botAPI#"/sendMessage -d text='"#message#"' -d chat_id="#chatid);
Im Fehlerlog steht folgendes - für mich nichts aussagekräftiges - drin:
Code: Alles auswählen
Mar 17 16:17:43 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Mar 17 16:17:43 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Mar 17 16:20:47 homematic-raspi daemon.info cuxd[509]: CUx-Daemon restart
Mar 17 16:20:47 homematic-raspi daemon.info cuxd[1112]: write_pid /var/run/cuxd.pid [1112]
Mar 17 16:20:47 homematic-raspi daemon.info cuxd[1112]: CUx-Daemon(1.9) on CCU(2.27.7.20170316) start PID:1112
Mar 17 16:20:47 homematic-raspi daemon.info cuxd[1112]: write_proxy /var/cache/cuxd_proxy.ini (127.0.0.1 8700 1112 /usr/local/addons/cuxd/ 1.9)
Mar 17 16:21:06 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Mar 17 16:21:06 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Mar 17 16:23:36 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Mar 17 16:23:36 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Mar 17 16:24:02 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Mar 17 16:24:02 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Mar 17 16:25:07 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Mar 17 16:25:07 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Mar 17 16:29:49 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Mar 17 16:29:49 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Mar 17 16:29:57 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Mar 17 16:29:57 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Mar 17 16:30:00 homematic-raspi cron.info crond[209]: USER root pid 1388 cmd /bin/SetInterfaceClock 127.0.0.1:2001
Mar 17 16:59:42 homematic-raspi local0.err ReGaHss: Error: IseESP::ExecError= Execution failed: [-1] 0 0x00 [0] 97 0x61 [1] 0 0x00 [2] 99 0x63 [3] 0 0x00 [4] 100 0x64 [../Platform/DOM/iseESPexec.cpp (11622)]
Mar 17 17:00:00 homematic-raspi cron.info crond[209]: USER root pid 2089 cmd /bin/SetInterfaceClock 127.0.0.1:2001
Mar 17 17:00:00 homematic-raspi cron.info crond[209]: USER root pid 2090 cmd /bin/setHWClock.sh
Mar 17 17:03:21 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Mar 17 17:03:21 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Mar 17 17:03:50 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Mar 17 17:03:50 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Mar 17 17:03:53 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Mar 17 17:03:53 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Mar 17 17:06:28 homematic-raspi local0.err ReGaHss: Error: IseESP::SyntaxError= Error 1 at row 1 col 92 near ^/curl -s -k https://api.telegram.org/botBOTAPI^M [../Platform/DOM/iseESP.cpp (1067)]
Mar 17 17:06:28 homematic-raspi local0.err ReGaHss: Error: ParseProgram: SyntaxError= /curl -s -k https://api.telegram.org/botBOTAPI/sendMessage -d text=Tagestest -d chat_id=CHATID); [../Platform/DOM/iseESP.cpp (348)]
Mar 17 17:06:29 homematic-raspi local0.err ReGaHss: Error: IseESP::SyntaxError= Error 1 at row 1 col 92 near ^/curl -s -k https://api.telegram.org/botBOTAPI^M [../Platform/DOM/iseESP.cpp (1067)]
Mar 17 17:06:29 homematic-raspi local0.err ReGaHss: Error: ParseProgram: SyntaxError= /curl -s -k https://api.telegram.org/botBOTAPI/sendMessage -d text=Tagestest -d chat_id=CHATID); [../Platform/DOM/iseESP.cpp (348)]
Mar 17 17:06:49 homematic-raspi local0.err ReGaHss: Error: IseESP::SyntaxError= Error 1 at row 1 col 92 near ^/curl -s -k https://api.telegram.org/botBOTAPIi^M [../Platform/DOM/iseESP.cpp (1067)]
Mar 17 17:06:49 homematic-raspi local0.err ReGaHss: Error: ParseProgram: SyntaxError= /curl -s -k https://api.telegram.org/botBOTAPI/sendMessage -d text=Tagestest -d chat_id=CHATID); [../Platform/DOM/iseESP.cpp (348)]
Mar 17 17:07:05 homematic-raspi local0.err ReGaHss: Error: IseESP::SyntaxError= Error 1 at row 1 col 92 near ^/curl -s -k https://api.telegram.org/botBOTAPI5i^M [../Platform/DOM/iseESP.cpp (1067)]
Mar 17 17:07:05 homematic-raspi local0.err ReGaHss: Error: ParseProgram: SyntaxError= /curl -s -k https://api.telegram.org/botBOTAPI/sendMessage -d text=Tagestest -d chat_id=CHATID); [../Platform/DOM/iseESP.cpp (348)]
Mar 17 17:08:27 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Mar 17 17:08:27 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Mar 17 17:09:07 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Mar 17 17:09:07 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Mar 17 17:11:00 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Mar 17 17:11:00 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Mar 17 17:11:07 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Mar 17 17:11:07 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Mar 17 17:11:23 homematic-raspi user.debug script: [ALCHY ALLINScript START]
Mar 17 17:11:23 homematic-raspi user.debug script: [ALCHY ALLINScript ENDE]
Code: Alles auswählen
string stderr;
string stdout;
integer Auslese;
system.Exec("ping -c 1 www.google.de",&stdout, &stderr);
Auslese = stdout.Find("ms");
if ( Auslese == -1 )
{
WriteLine("CCU ist NICHT mit der Welt verbunden");
}
if ( Auslese > 0)
{
WriteLine('CCU ist mit der Welt verbunden');
}
Gerne kann ich weitere Skripts ausprobieren und Ausgaben durchführen um festzustellen woran es bei mir scheitert. Die Beschreibung des Skripts ist ja eigentlich ziemlich eindeutig und klar, weswegen man da eher wenig falsch machen kann. Dennoch schaffe ich das offenbar.