Nach Update auf 2.31 .25 laufen meine Skripte nicht mehr kan

Fehler in Firmware und WebUI & Workarounds

Moderator: Co-Administratoren

Antworten
Gerry2011
Beiträge: 10
Registriert: 24.11.2015, 09:00

Nach Update auf 2.31 .25 laufen meine Skripte nicht mehr kan

Beitrag von Gerry2011 » 28.01.2018, 18:26

Habe die CCU2 Softwarestand 2.29.23
program.png
Skript.png
Skript.png (16.23 KiB) 3947 mal betrachtet
So wie hier aufgeführt arbeitet das Programm ordnungsgemäß alles ab. Wenn ich allerdings die neue Software aufspiele werden die letzten drei Skripte nicht mehr ausgeführt. Im Skript wird der Befehl zum ausschalten des TV ans Mediola Gateway gesendet.
adons.png
Wenn ich dann aber das Update aufspiele werden die Skripte an das Mediolagateway nicht ausgeführt, die Philips-Lampen werden angesteuert.
Hat jemand einen Rat für mich?

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: Nach Update auf 2.31 .25 laufen meine Skripte nicht mehr

Beitrag von Familienvater » 28.01.2018, 18:30

Hi,

ja, auch bei Dir ist ein Feature, das die undokumentierte system.exec-Funktion auf einmal ein anderes Verhalten hat, und gewisse Sonderzeichen ab jetzt explizit escaped werden müssen.

Der Familienvater

Gerry2011
Beiträge: 10
Registriert: 24.11.2015, 09:00

Re: Nach Update auf 2.31 .25 laufen meine Skripte nicht mehr

Beitrag von Gerry2011 » 28.01.2018, 19:16

Vielen Dank für deine schnelle Antwort,

nur ist mir leider nicht ganz klar was du da meinst, bzw. wie das Skript dann umgeschrieben werden müsste.

Gerry2011
Beiträge: 10
Registriert: 24.11.2015, 09:00

Re: Nach Update auf 2.31 .25 laufen meine Skripte nicht mehr

Beitrag von Gerry2011 » 29.01.2018, 19:09

Hallo Familienvater ,
danke nochmals für deinen Hinweis habe das Problem dadurch lösen können alle Skripte laufen wieder.

marcymarc
Beiträge: 6
Registriert: 08.10.2012, 10:38

Re: Nach Update auf 2.31 .25 laufen meine Skripte nicht mehr

Beitrag von marcymarc » 30.01.2018, 07:16

Hallo Gerry,

wie hast du denn das Problem gelöst. Bin für einen Hinweis dankbar, da ich das gleiche Problem habe (Skript um Befehle an Mediola-Gatway zu senden).
Vielen Dank im Voraus.

Grüße
marcymarc

Benutzeravatar
jmaus
Beiträge: 9840
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 462 Mal
Danksagung erhalten: 1863 Mal
Kontaktdaten:

Re: Nach Update auf 2.31 .25 laufen meine Skripte nicht mehr

Beitrag von jmaus » 30.01.2018, 09:37

marcymarc hat geschrieben: wie hast du denn das Problem gelöst. Bin für einen Hinweis dankbar, da ich das gleiche Problem habe (Skript um Befehle an Mediola-Gatway zu senden).
Vielen Dank im Voraus.
Im Grunde muss man solche externen aufrufe mittels system.Exec() nun genauso handhaben als wenn man den Befehl in einer vollwertigen UNIX Shell aufrufen lässt. Versuche also einfach mal das Kommando das du innerhalb von system.Exec() aufrufst auf deiner CCU in einer SSH Sitzung so aufzurufen. In dem oben genannten Fall würde auch das in einer Unix-Shell zu Fehlern führen weil dort das Zeichen "&" direkt verwendet wird und die URL nicht in Anführungszeichen gesetzt wurde damit das als ein parameter für curl angesehen wird.

D.h. halte Ausschau nach Sonderzeichen in einem system.Exec() Aufrufen und dann mach dir Gedanken darum ob und wie du diese escapen musst damit der Befehl funktioniert. Es hilft daher ungemein einfach mal eine SSH Sitzung zur CCU aufzumachen und den Befehl dort live zu testen und zu schauen ob irgendwelche Sonderzeichen etwas anderes anrichten oder einen Fehler verursachen.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Gerry2011
Beiträge: 10
Registriert: 24.11.2015, 09:00

Re: Nach Update auf 2.31 .25 laufen meine Skripte nicht mehr

Beitrag von Gerry2011 » 30.01.2018, 10:14

Hallo marcymarc

in meinem Fall musste ich die Zeile wie folgt ändern:

alt: 3.system.Exec ("wget -q -O /dev/null " # url, &stdout, &stderr);

neu: 3.system.Exec ("wget -q -O /dev/null '" # url # "', &stdout, &stderr");

Ich hoffe dir damit ein wenig helfen zu können

Gerry

Benutzeravatar
jmaus
Beiträge: 9840
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 462 Mal
Danksagung erhalten: 1863 Mal
Kontaktdaten:

Re: Nach Update auf 2.31 .25 laufen meine Skripte nicht mehr

Beitrag von jmaus » 30.01.2018, 10:54

Und was genau soll die "3." vor deinem system.Exec() Aufruf bitte?
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

DrTob
Beiträge: 3426
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 5 Mal

Nach Update auf 2.31 .25 laufen meine Skripte nicht mehr kan

Beitrag von DrTob » 30.01.2018, 11:02

Gerry2011 hat geschrieben:Hallo marcymarc

in meinem Fall musste ich die Zeile wie folgt ändern:

alt: 3.system.Exec ("wget -q -O /dev/null " # url, &stdout, &stderr);

neu: 3.system.Exec ("wget -q -O /dev/null '" # url # "', &stdout, &stderr");

Ich hoffe dir damit ein wenig helfen zu können

Gerry
Wohl eher so, oder?:

system.Exec ("wget -q -O /dev/null '" # url # "'", &stdout, &stderr);

marcymarc
Beiträge: 6
Registriert: 08.10.2012, 10:38

Re: Nach Update auf 2.31 .25 laufen meine Skripte nicht mehr

Beitrag von marcymarc » 31.01.2018, 17:33

Hi,

danke für die Hinweise.

Antworten

Zurück zu „HomeMatic - bekannte Bugs“