CUxD stürzt ab, bei Abfrage an Shelly wenn im WLAN nicht erreichbar.

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Antworten
reinahome
Beiträge: 11
Registriert: 14.11.2015, 08:44
System: CCU

CUxD stürzt ab, bei Abfrage an Shelly wenn im WLAN nicht erreichbar.

Beitrag von reinahome » 16.10.2020, 21:34

Liebe Forenmitglieder brauche Hilfe,

CCU3 3.53.3, CUxD 2.4.4, Shelly1/PM

habe Shelly1/PM eingebunden, funktioniert wenn WLan vorhanden ist sehr gut.
Den Script frage ich alle 30 sek ab.
Nur wenn der Shelly nicht erreichbar ist, dann funktioniert die Abfrage mit diesem Code nicht immer.
Antwort dauert oft 20sek und mehr.
CuxD hängt sich auf und muss zurückgesetzt werden.

Derzeit habe ich Cuxd-Ping (CuXD-Ping-CUX2803001) in Verwendung.
Ich frage alle 30 sek mit CuxD-Ping ab und starte dann über
UNREACH-CTR=0 einen Script wo ich meine Auswertung mache.
Das funktioniert!

Frage:
Was muss ich in dem Script ändern, damit bei nicht erreichen der Shelly,
nicht immer wieder CuxD abstürzt.
Wenn es so funktionieren könnte wie in dem Script,
dann kann ich mir den CuxD-Ping ersparen.

Script der Probleme macht: ##################################################

Code: Alles auswählen

!Script alle 30 sek abfagen
string url = "http://xxx.xxx.xxx.xxx";

!CUxD Verweis
 string cux = "CUxD.CUX2801001:3.";  !Kanal 1 und 2 für andere Abfragen benutzt

string urlges = url # "/status";

!Shelly abfragen
dom.GetObject(cux # "CMD_SETS").State("wget -q -O - '"#urlges#"'");
dom.GetObject(cux # "CMD_QUERY_RET").State(1);
string Antwort = dom.GetObject(cux # "CMD_RETS").State();
dom.GetObject(cux # "CMD_SETS").State("0");
WriteLine("Antwort= " # Antwort);
WriteLine("");

!ab hier Auswertung der Antwort

if (Antwort > "")
{	!Shelly erreichbar
	WriteLine("Shelly erreichbar");
}
else
{	!Shelly nicht erreichbar
        !hier werden Systemvareablen auf 0 gesetzt
	WriteLine("Shelly nicht erreichbar");
}
!##########################################################################
Herzlichen Dank im voraus.
Zuletzt geändert von alchy am 16.10.2020, 21:59, insgesamt 1-mal geändert.
Grund: Code in Codetags posten

Xel66
Beiträge: 7754
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 37 Mal
Danksagung erhalten: 317 Mal

Re: CUxD stürzt ab, bei Abfrage an Shelly wenn im WLAN nicht erreichbar.

Beitrag von Xel66 » 16.10.2020, 23:37

Ich würde die Zeile

Code: Alles auswählen

dom.GetObject(cux # "CMD_SETS").State("wget -q -O - '"#urlges#"'");
mit einem kaufmännischen UND erweitern und so in den Hintergrund schicken, dass eine fehlende Rückmeldung nicht die ReGa blockieren kann.

Code: Alles auswählen

dom.GetObject(cux # "CMD_SETS").State("wget -q -O - '"#urlges#"' &");
Vermutlich ist die Blockade der ReGa die Ursache für Dein Problem und nicht ein Absturz von CUxD.

Gruß Xel66
---------------------------------------------------------------------------------
358 Kanäle in 141 Geräten und 114 CUxD-Kanäle in 24 CUxD-Geräten:
274 Programme, 265 Systemvariablen und 144 Direktverknüpfungen,
RaspberryMatic Version 3.51.6.20200420
Testsystem: CCU3 3.49.17
---------------------------------------------------------------------------------

reinahome
Beiträge: 11
Registriert: 14.11.2015, 08:44
System: CCU

Re: CUxD stürzt ab, bei Abfrage an Shelly wenn im WLAN nicht erreichbar.

Beitrag von reinahome » 17.10.2020, 09:30

Danke werde das gleich mal testen. lg

reinahome
Beiträge: 11
Registriert: 14.11.2015, 08:44
System: CCU

Re: CUxD stürzt ab, bei Abfrage an Shelly wenn im WLAN nicht erreichbar.

Beitrag von reinahome » 17.10.2020, 20:42

Mit dem kaufmännischen UND auch leider Abstürze (aber nicht immer).
Ich vermute wenn die WLan Verbindung schlecht ist (ca. bei -80) dann kommt es zu dem Absturz.
Wenn ich die WLan Verbindung abschalte und der Shelly ist nicht erreichbar dann konnte ich dieses Problem noch nicht feststellen.
Lg

Baxxy
Beiträge: 1788
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 158 Mal
Danksagung erhalten: 257 Mal

Re: CUxD stürzt ab, bei Abfrage an Shelly wenn im WLAN nicht erreichbar.

Beitrag von Baxxy » 17.10.2020, 23:20

reinahome hat geschrieben:
16.10.2020, 21:34
Antwort dauert oft 20sek und mehr.
CuxD hängt sich auf und muss zurückgesetzt werden.
Ich habe mal versucht das nachzustellen und den CUxD abzuwürgen. Da hier kein wackeliges WLan läuft habe ich vom Raspi das Netzwerkkabel abgezogen. Daher ist das Ergebnis nicht 100%ig auf dein Setup übertragbar. Die Zeile mit dem wget hatte ich aber vorher etwas angepasst.

Code: Alles auswählen

dom.GetObject(cux # "CMD_SETS").State("wget --connect-timeout=1 --tries=1 -q -O - '"#urlges#"'");
Ergebnis:

Code: Alles auswählen

Oct 17 22:59:36 homematic-raspi daemon.info cuxd[31723]: pclose(wget --connect-timeout=1 --tries=1 -q -O - 'http://192.168.1.1') exit(4) 1s
Oct 17 23:00:36 homematic-raspi daemon.info cuxd[31868]: pclose(wget --connect-timeout=1 --tries=1 -q -O - 'http://192.168.1.1') exit(4) 1s
Oct 17 23:01:36 homematic-raspi daemon.info cuxd[31980]: pclose(wget --connect-timeout=1 --tries=1 -q -O - 'http://192.168.1.1') exit(4) 1s
Oct 17 23:02:36 homematic-raspi daemon.info cuxd[32102]: pclose(wget --connect-timeout=1 --tries=1 -q -O - 'http://192.168.1.1') exit(4) 1s
Oct 17 23:03:36 homematic-raspi daemon.info cuxd[32233]: pclose(wget --connect-timeout=1 --tries=1 -q -O - 'http://192.168.1.1') exit(4) 1s
Oct 17 23:04:36 homematic-raspi daemon.info cuxd[32344]: pclose(wget --connect-timeout=1 --tries=1 -q -O - 'http://192.168.1.1') exit(4) 1s
Oct 17 23:05:36 homematic-raspi daemon.info cuxd[32468]: pclose(wget --connect-timeout=1 --tries=1 -q -O - 'http://192.168.1.1') exit(4) 1s
Oct 17 23:06:36 homematic-raspi daemon.info cuxd[32594]: pclose(wget --connect-timeout=1 --tries=1 -q -O - 'http://192.168.1.1') exit(4) 1s
Kein CUxD-Absturz. :wink:
Kannst du ja mal testen.
Grüße
Baxxy

reinahome
Beiträge: 11
Registriert: 14.11.2015, 08:44
System: CCU

Re: CUxD stürzt ab, bei Abfrage an Shelly wenn im WLAN nicht erreichbar.

Beitrag von reinahome » 19.10.2020, 19:38

Habe die Abfragezeile geändert
dom.GetObject(cux # "CMD_SETS").State("wget --connect-timeout=1 --tries=1 -q -O - '"#urlges#"'");
Seit ein paar Stunden nur 1 Absturz dieser war gleich nachdem ich den Script aktiviert hatte.
Ich hätte noch eine Frage zudem Parameter im CuXd-Exec KEY|EXEC_TIMEOUT 60 Min, was ist wenn man
die Zeit auf 1min einstellt?
Danke nochmals für die Hilfe.

Antworten

Zurück zu „CUxD“