Moin, ist es möglich redmatic aus einem HomeMatic Script heraus neu zu starten oder stoppen ? Vielleicht auch den aktuellen Status des addons?
Gruß
Matten Matten
Redmatic restart stop und start
Moderator: Co-Administratoren
-
- Beiträge: 281
- Registriert: 09.12.2018, 17:14
- System: CCU
- Hat sich bedankt: 68 Mal
- Danksagung erhalten: 22 Mal
- Kontaktdaten:
-
- Beiträge: 460
- Registriert: 06.01.2018, 12:48
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 57 Mal
- Danksagung erhalten: 39 Mal
Re: Redmatic restart stop und start
Ja, das geht.
Start
Stop
Restart
Über einen Homematic Script Node kann man das dann auch direkt auch aus Node-Red (Bsp. Dashboard) ausführen (siehe "Node-red Restart per Node-Button").
Wenn der folgende Consolenbefehl in "out" keinen Leerstring zurückgibt, läuft Node-Red (Quelle), sonst enthält es die Prozess-Id:
Gruß
Start
Code: Alles auswählen
system.Exec("/etc/config/rc.d/redmatic start &");
Code: Alles auswählen
system.Exec("/etc/config/rc.d/redmatic stop &");
Code: Alles auswählen
system.Exec("/etc/config/rc.d/redmatic restart &");
Wenn der folgende Consolenbefehl in "out" keinen Leerstring zurückgibt, läuft Node-Red (Quelle), sonst enthält es die Prozess-Id:
Code: Alles auswählen
system.Exec("ps -o pid,comm,args | awk '{if($3 == "node-red" || $4 ~ /node-red/){print $1}}'", &out, &err);
Gruß
-
- Beiträge: 281
- Registriert: 09.12.2018, 17:14
- System: CCU
- Hat sich bedankt: 68 Mal
- Danksagung erhalten: 22 Mal
- Kontaktdaten:
Re: Redmatic restart stop und start
Super vielen Dank für die schnelle Antwort. Werde ich umgehend integrieren
-
- Beiträge: 447
- Registriert: 13.09.2017, 05:11
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 12 Mal
Re: Redmatic restart stop und start
Hallo hypnos,
leider bin ich kein so erfahrener Skripter.
Dieses Skript löst bei einer 1zu1 Kopie einen Fehler aus.
system.Exec("ps -o pid,comm,args | awk '{if($3 == "node-red" || $4 ~ /node-red/){print $1}}'", &out, &err);
Fehler:
Error 1 at row 1 col 104 near ^-red" || $4 ~ /node-red/){print $1}}'", &out, &err);
Parse following code failed:
system.Exec("ps -o pid,comm,args | awk '{if($3 == "node-red" || $4 ~ /node-red/){print $1}}'", &out, &err);
Was mache ich falsch?
Gruß Thomas
leider bin ich kein so erfahrener Skripter.
Dieses Skript löst bei einer 1zu1 Kopie einen Fehler aus.
system.Exec("ps -o pid,comm,args | awk '{if($3 == "node-red" || $4 ~ /node-red/){print $1}}'", &out, &err);
Fehler:
Error 1 at row 1 col 104 near ^-red" || $4 ~ /node-red/){print $1}}'", &out, &err);
Parse following code failed:
system.Exec("ps -o pid,comm,args | awk '{if($3 == "node-red" || $4 ~ /node-red/){print $1}}'", &out, &err);
Was mache ich falsch?
Gruß Thomas
972 Kanäle in 165 Geräten: Davon 16 HM, 145 HMIP, 2 Gruppen und 2 CUXD Geräte
-
- Beiträge: 460
- Registriert: 06.01.2018, 12:48
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 57 Mal
- Danksagung erhalten: 39 Mal
Re: Redmatic restart stop und start
Das wird 1zu1 nicht gehen, da die Anführungszeichen angepasst werden müssen. Muss ich mir nochmal genauer ansehen.
-
- Beiträge: 281
- Registriert: 09.12.2018, 17:14
- System: CCU
- Hat sich bedankt: 68 Mal
- Danksagung erhalten: 22 Mal
- Kontaktdaten:
Re: Redmatic restart stop und start
Moin,tloeffel hat geschrieben: ↑08.11.2019, 14:34Hallo hypnos,
leider bin ich kein so erfahrener Skripter.
Dieses Skript löst bei einer 1zu1 Kopie einen Fehler aus.
system.Exec("ps -o pid,comm,args | awk '{if($3 == "node-red" || $4 ~ /node-red/){print $1}}'", &out, &err);
Fehler:
Error 1 at row 1 col 104 near ^-red" || $4 ~ /node-red/){print $1}}'", &out, &err);
Parse following code failed:
system.Exec("ps -o pid,comm,args | awk '{if($3 == "node-red" || $4 ~ /node-red/){print $1}}'", &out, &err);
Was mache ich falsch?
Gruß Thomas
ich habe es erstmal anders gelöst funktioniert bei mir aber auch:
Code: Alles auswählen
string stderr;
string stdout;
string url="http://localhost/addons/redmatic/service.cgi?&cmd=ps";
dom.GetObject("CUxD.CUX2801001:6.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:6.CMD_QUERY_RET").State(1);
string event = dom.GetObject("CUxD.CUX2801001:6.CMD_RETS").State().Contains("node-red");
WriteLine(Wert);
Matten Matten