Hallo zusammen,
nun langsam aber sicher komme ich sehr gut auf meinem pivcccu zurecht allerdings funktionieren meine ganzen "system.Exec" aufrufe für das versenden von Pushnachrichten über Cloudmatic nicht mehr.
Habt ihr eine Idee woran dies liegen kann? Ein Test auf der CCU2 zeigt, dass es geht. Es ist die Firmware 2.31.25 installiert.
Gruß
Fred
system.Exec
Moderator: Co-Administratoren
-
- Beiträge: 7151
- Registriert: 31.12.2006, 15:18
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Rhein-Main
- Danksagung erhalten: 34 Mal
Re: system.Exec
Hi,
auch mit 2.31.25 auf der CCU2, oder dort mit einer älteren Firmware (und ggf. mit welcher Rega-Version)?
Funktionieren die Befehle aus einer Consolen-Sitzung innerhalb der piVCCU?
Der Familienvater
auch mit 2.31.25 auf der CCU2, oder dort mit einer älteren Firmware (und ggf. mit welcher Rega-Version)?
Funktionieren die Befehle aus einer Consolen-Sitzung innerhalb der piVCCU?
Der Familienvater
Re: system.Exec
Hi zusammen,
von der CCU2 mit der gleichen Firmware funktioniert es auch nicht mehr. Scheint wohl ein Problem mit dem System.Exec sein...
Auf der Console des pivccu kriege folgende Fehler
Das Script sieht folgendermaßen aus:
Gruß
Fred
von der CCU2 mit der gleichen Firmware funktioniert es auch nicht mehr. Scheint wohl ein Problem mit dem System.Exec sein...
Auf der Console des pivccu kriege folgende Fehler
Code: Alles auswählen
Jan 31 20:07:02 homematic-ccu2 local0.err ReGaHss: Error: IseESP::SyntaxError= Error 1 at row 23 col 24 near ^.Split(" ")) { sendapikey = sendapikey # "+" # teilstr; } foreach(teilstr, eve^M [iseESP.cpp:1111]
Jan 31 20:07:02 homematic-ccu2 local0.err ReGaHss: Error: ParseProgram: SyntaxError= .Split(" ")) { sendapikey = sendapikey # "+" # teilstr; } foreach(teilstr, event.Split(" ")) { sendevent = sendevent # "+" # teilstr; } foreach(teilstr, PushText.Split(" ")) { sendtext
Code: Alles auswählen
var EASYPushKeyFred = "????";
var EASYPushKeySandra = "?????";
var wert = dom.GetObject("W_Temperatur").Value();
var wert2 = dom.GetObject("W_Bedingungen").Value();
var wert3 = dom.GetObject("W_Aktualisierung").Value();
! Hier das Event der Push Nachricht angeben
string event = "Morgendliche Wetternachricht";
! Hier den Inhalt der Push Nachricht angeben
string PushText;
PushText = "Es ist "#wert2#" und "#wert#" Grad draußen. Letzte Aktualisierung der Wetterstation: "#wert3#"";
! Alles ab hier bitte UNVERÄNDERT übernehmen
string stdout;
string stderr;
string teilstr;
string sendtext = "";
string sendevent = "";
string sendapikey = "";
foreach(teilstr, APIKey.Split(" ")) {
sendapikey = sendapikey # "+" # teilstr;
}
foreach(teilstr, event.Split(" ")) {
sendevent = sendevent # "+" # teilstr;
}
foreach(teilstr, PushText.Split(" ")) {
sendtext = sendtext # "+" # teilstr;
}
system.Exec ("/bin/sh /etc/config/addons/mh/prowl.sh "# EASYPushKeyFred # " " # sendevent # " " # sendtext # , &stdout, &stderr");
system.Exec ("/bin/sh /etc/config/addons/mh/prowl.sh "# EASYPushKeySandra # " " # sendevent # " " # sendtext #, &stdout, &stderr");
Fred
Re: system.Exec
Hallo zusammen,
heute Abend habe ich mal ein wenig bzgl meines Fehlers weiterrecherchiert und ausprobiert.
1. Aus der Doku von cloudmatic.de Also habe ich ein Downgrade auf die Version 2.29.23 gemacht! Auf CCU2 und pivccu!
--> Problem besteht leider immer noch!!
2. Dann ist mir aufgefallen, dass dieser Teil des Scriptes
völliger Blödsinn ist und habe ihn erstmal entfernt.
--> Problem besteht leider immer noch!!
Aber der Fehler
war weg!
3. Dann habe ich gedacht, achja "System.Exec" ist schuld und habe nach der Anleitung von https://technikkram.net/2017/08/homemat ... c-ersetzen von "System.Exec" auf CuxD umgestellt!
--> Jetzt kriege ich ganz viele Pushnachrichten, allerdings zeitversetzt. Vielleicht pendelt es sich über Nacht ein...
Jetzt habe ich erstmal keine Lust und am Wochenende geht es weiter...
Gruß
Fred
heute Abend habe ich mal ein wenig bzgl meines Fehlers weiterrecherchiert und ausprobiert.
1. Aus der Doku von cloudmatic.de Also habe ich ein Downgrade auf die Version 2.29.23 gemacht! Auf CCU2 und pivccu!
--> Problem besteht leider immer noch!!
2. Dann ist mir aufgefallen, dass dieser Teil des Scriptes
Code: Alles auswählen
foreach(teilstr, APIKey.Split(" ")) {
sendapikey = sendapikey # "+" # teilstr;
}
--> Problem besteht leider immer noch!!
Aber der Fehler
Code: Alles auswählen
IseESP::SyntaxError= Error 1 at row 23 col 24 near ^.Split(" ")) { s
3. Dann habe ich gedacht, achja "System.Exec" ist schuld und habe nach der Anleitung von https://technikkram.net/2017/08/homemat ... c-ersetzen von "System.Exec" auf CuxD umgestellt!
--> Jetzt kriege ich ganz viele Pushnachrichten, allerdings zeitversetzt. Vielleicht pendelt es sich über Nacht ein...
Jetzt habe ich erstmal keine Lust und am Wochenende geht es weiter...
Gruß
Fred
Re: system.Exec
Nabend zusammen,
damit manch anderer auch nicht "dumm" stirbt wollt ich mal eben verkünden, dass ich das Problem nun gelöst habe!
Gruß
Fred
damit manch anderer auch nicht "dumm" stirbt wollt ich mal eben verkünden, dass ich das Problem nun gelöst habe!
Code: Alles auswählen
! Pushnachricht für Statuswechsel an mehrere User
! API Keys als var setzen
var EASYPushKeyABC = "ESY:APIKEY-ABC";
var EASYPushKeyDEF = "ESY:APIKEY-DEF";
! Auslesen Werteliste Variablen
object sv = dom.GetObject("Alarmanlage");
! Zustandstext in string schreiben
string z = sv.ValueList().StrValueByIndex(";",sv.Value());
! Hier das Event der Push Nachricht angeben
string event = "Status Alarmanlage";
! Hier den Inhalt der Push Nachricht angeben
string PushText;
PushText = ""#z#"";
! Alles ab hier bitte UNVERÄNDERT übernehmen
string teilstr;
string sendtext = "";
string sendevent = "";
foreach(teilstr, event.Split(" ")) {
sendevent = sendevent # "+" # teilstr;
}
foreach(teilstr, PushText.Split(" ")) {
sendtext = sendtext # "+" # teilstr;
}
dom.GetObject("CUxD.CUX2801001:3.CMD_EXEC").State("/bin/sh /etc/config/addons/mh/prowl.sh "# EASYPushKeyABC # " " # sendevent # " " # sendtext);
dom.GetObject("CUxD.CUX2801001:3.CMD_EXEC").State("/bin/sh /etc/config/addons/mh/prowl.sh "# EASYPushKeyDEF # " " # sendevent # " " # sendtext);
Fred