Hallo,
ich möchte einige Netzwerkgeräte via Ping abfragen. Dazu verwende ich folgendes Skript ohne Probleme:
string stderr;
string stdout;
system.Exec("ping -c 1 192.168.178.30",&stdout, &stderr);
if (stdout.Find("ms") == -1 ) { WriteLine("offline . . . . Froeling-P4-Pelletheizung . . . . 192.168.178.030"); }
if (stdout.Find("ms") > 0) { WriteLine("online . . . . Froeling-P4-Pelletheizung . . . . 192.168.178.030"); }
Bei der CCU2 war nach meinem Kenntnisstand die häufige Verwendung des system.Exec-Befehls problematisch. Gilt das auch noch für die CCU3?
Ich habe versucht, den Exec-Befehl mit dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC") umzuschreiben, aber ohne Erfolg.
Wo liegt der Fehler bei folgender Formulierung:
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("ping -c 1 192.168.178.30",&stdout, &stderr);
Wäre es ratsam, mehrere Netzwerkgeräte mit einer Schleife abzufragen oder würde die rasche Abfolge von Pings die CCU3 überfordern oder destabilisieren?
Vielen Dank für die Hilfe!
system.Exec @ CCU2 @ CCU3
Moderator: Co-Administratoren
-
- Beiträge: 125
- Registriert: 13.04.2015, 11:56
- Hat sich bedankt: 22 Mal
system.Exec @ CCU2 @ CCU3
Signatur: 285 Kanäle in 110 Geräten und 16 CUxD-Kanäle in 1 CUxD-Geräten:
4x HM-LC-Sw2-FM, 34x HM-Sec-SCo, 4x HmIP-SMI, 3x HM-LC-Sw1-FM, 1x HmIP-RCV-50, 1x CUX28, 1x HM-LC-Dim1T-FM, 1x HM-LC-Sw1-PCB, 1x HM-RC-4-2, 10x HM-Sec-SD-2-Team, 1x HM-LC-Sw4-Ba-PCB, 10x HM-Sec-SD-2, 10x HM-LC-Bl1-FM, 1x HM-ES-PMSw1-DR, 1x HmIP-FSI16, 2x HM-Sec-Sir-WM, 2x HM-Sec-SC-2, 1x HM-PB-2-WM55, 15x HM-CC-RT-DN, 2x HM-Sec-RHS, 1x HM-WDS10-TH-O, 1x HmIP-SLO, 1x HM-WDS40-TH-I-2, 3x HM-TC-IT-WM-W-EU
4x HM-LC-Sw2-FM, 34x HM-Sec-SCo, 4x HmIP-SMI, 3x HM-LC-Sw1-FM, 1x HmIP-RCV-50, 1x CUX28, 1x HM-LC-Dim1T-FM, 1x HM-LC-Sw1-PCB, 1x HM-RC-4-2, 10x HM-Sec-SD-2-Team, 1x HM-LC-Sw4-Ba-PCB, 10x HM-Sec-SD-2, 10x HM-LC-Bl1-FM, 1x HM-ES-PMSw1-DR, 1x HmIP-FSI16, 2x HM-Sec-Sir-WM, 2x HM-Sec-SC-2, 1x HM-PB-2-WM55, 15x HM-CC-RT-DN, 2x HM-Sec-RHS, 1x HM-WDS10-TH-O, 1x HmIP-SLO, 1x HM-WDS40-TH-I-2, 3x HM-TC-IT-WM-W-EU
-
- Beiträge: 9655
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 697 Mal
- Danksagung erhalten: 1617 Mal
Re: system.Exec @ CCU2 @ CCU3
Cuxd kennt kein stdout oder stderr. Suche im forum wird dir die richtige Anwendung zeigen
Du solltest sicherstellen, daß es ein timeout gibt, sonst führt ein nicht erreichen des Gerätes zum hängen des zentralen Prozess.
Du solltest sicherstellen, daß es ein timeout gibt, sonst führt ein nicht erreichen des Gerätes zum hängen des zentralen Prozess.
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
-
- Beiträge: 14149
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 583 Mal
- Danksagung erhalten: 1497 Mal
Re: system.Exec @ CCU2 @ CCU3
Und wenn Du schon CUxD drauf hast, warum nutzt Du nicht das für genau diesen Anwendungsfall vorgesehene Ping-Device? Das funktioniert bei mir seit Jahren zuverlässig und überwacht in meinem Fall die IP-Cams und die Wetterstation auf Erreichbarkeit und bildet ab, ob mein PC läuft oder nicht. Die Status sind direkt in der WebUI in Programmen auswertbar.
Gruß Xel66
Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
-
- Beiträge: 12108
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 848 Mal
- Danksagung erhalten: 2148 Mal
- Kontaktdaten:
Re: system.Exec @ CCU2 @ CCU3
Kann mich da Xel66 nur anschließen, CuXD Ping nehmen und fertig. Lässt sich auch gut konfigurieren