[GELÖST] Script funktioniert nicht mehr nach update????

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Antworten
v82510
Beiträge: 25
Registriert: 11.12.2016, 12:25

[GELÖST] Script funktioniert nicht mehr nach update????

Beitrag von v82510 » 08.10.2017, 15:31

Hy alle zusammen, habe gerade die aktuelle Version von Raspberrymatic installiert. Nach der Installation funktioniert nun mein Script (Nachricht an TV) nicht mehr.
Hat eventuell einer eine Idee??

Code: Alles auswählen

system.Exec("wget -O /dev/null -q http://192.168.178.5/web/message?text=Die%20Waschmaschine%20ist%20jetzt%20fertig&type=1",&stdout, &stderr);
Grüße
Jörg

Benutzeravatar
jmaus
Beiträge: 9846
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: Script funktioniert nicht mehr nach update????

Beitrag von jmaus » 08.10.2017, 16:27

v82510 hat geschrieben:Hy alle zusammen, habe gerade die aktuelle Version von Raspberrymatic installiert. Nach der Installation funktioniert nun mein Script (Nachricht an TV) nicht mehr.
Hat eventuell einer eine Idee??

Code: Alles auswählen

system.Exec("wget -O /dev/null -q http://192.168.178.5/web/message?text=Die%20Waschmaschine%20ist%20jetzt%20fertig&type=1",&stdout, &stderr);
Der Grund hierfür ist, das man im system.Exec() Aufruf nicht alle möglichen Sonderzeichen verwenden kann, bisherige ReGa-Versionen hier jedoch anders vorgegangen sind und daher das Problem nicht unmittelbar aufgetreten ist. Diese Limitation wurde in neueren ReGaHss Versionen (die Teil von aktuellen RaspberryMatic Versionen sind) beseitigt und nun schlägt dieses Problem zu. Um dein Problem zu lösen musst du dein system.Exec() wie folgt vornehmen:

Code: Alles auswählen

system.Exec("wget -O /dev/null -q 'http://192.168.178.5/web/message?text=Die%20Waschmaschine%20ist%20jetzt%20fertig&type=1'",&stdout, &stderr);
D.h. du musst die URL ("http://....") in einfache Anführungszeichen (') setzen damit der wget Aufruf, der das "&" Sonderzeichen beinhaltet korrekt ausgeführt werden kann weil dieses Zeichen in einer Unix-Shell (in welcher system.Exec() nun seine Aufrufe tätig) eine andere Funktion hat.

Darüber hinaus kannst/solltest du nun aber den Aufruf mit der neueren ReGa auch noch etwas optimieren können in dem du ihn wie folgst aussehen lässt:

Code: Alles auswählen

system.Exec("wget -O /dev/null -q 'http://....' &");
D.h.
  1. Benötigst du zwingend kein &stdout, &stderr Parameter mehr. In deinem Fall wirst du ohnehin alle Ausgabe nach /dev/null und somit kann man sich den Aufwand der Variablendekalaration von stdout+stderr sparen und muss diese Parameter nicht mehr zwingend an system.Exec() übergeben wie das früher der Fall war.
  2. Solltest du (wenn du ohnehin nicht an den Ausgaben von system.Exec() interessiert bist) ganz hinten an das Kommando ein einzelnes "&" Zeichen anfügen um zu erreichen das die Unix-Shell den wget Befehl asynchron ausführt und somit die ReGa-Engine während der Ausführung von wget nicht für die Laufzeit des wget Aufrufes blockiert wird sondern normal und schnellstmöglichst weiterlaufen kann.
Ich hoffe das klärt dein Problem mit deinem wget Aufruf via system.Exec().
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

v82510
Beiträge: 25
Registriert: 11.12.2016, 12:25

Re: Script funktioniert nicht mehr nach update????

Beitrag von v82510 » 08.10.2017, 16:35

Jens danke dir!!!!
Es funktioniert wieder, auch wenn ich es nicht wirklich verstanden habe. Ich glaube dafür bin ich zu wenig in dem Thema drin.
Ich glaube ich muß mich da doch noch mehr rein lesen.

v82510
Beiträge: 25
Registriert: 11.12.2016, 12:25

Re: Script funktioniert nicht mehr nach update????

Beitrag von v82510 » 08.10.2017, 16:37

hallo Jens kannst du mir eventuell auch noch erklären warum ich die aktuellste Versionen von cixd nicht installieren kann?
Genauso bekomme ich nicht ccm historian installiert.

Benutzeravatar
jmaus
Beiträge: 9846
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: Script funktioniert nicht mehr nach update????

Beitrag von jmaus » 08.10.2017, 16:57

v82510 hat geschrieben:hallo Jens kannst du mir eventuell auch noch erklären warum ich die aktuellste Versionen von cixd nicht installieren kann?
Genauso bekomme ich nicht ccm historian installiert.
Nicht wirklich, das sollte funktionieren. Bitte aber dafür nicht diesen Thread highjacken sondern nach ausführlichen eigenen Tests dann einen neuen Thread aufmachen und dort weiter diskutieren.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Antworten

Zurück zu „RaspberryMatic“