system.Exec @ CCU2 @ CCU3

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
Penumbra1980
Beiträge: 125
Registriert: 13.04.2015, 11:56
Hat sich bedankt: 22 Mal

system.Exec @ CCU2 @ CCU3

Beitrag von Penumbra1980 » 24.07.2022, 09:18

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!
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

MichaelN
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

Beitrag von MichaelN » 24.07.2022, 09:22

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.
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 +++

Xel66
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

Beitrag von Xel66 » 24.07.2022, 09:34

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
-------------------------------------------------------------------------------------------
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

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: system.Exec @ CCU2 @ CCU3

Beitrag von jp112sdl » 24.07.2022, 09:52

Kann mich da Xel66 nur anschließen, CuXD Ping nehmen und fertig. Lässt sich auch gut konfigurieren

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“