Seite 1 von 3

den Status der CCU3 LED im Skript

Verfasst: 18.02.2024, 17:37
von andrzejgilas
Ich möchte den Status der blauen LED in der Systemvariablen anzeigen (ON OFF)

Kann mir jemand mit dem Skript helfen?

ich weiß nur, dass es mit der Datei /etc/config/disableLED verknüpft werden muss, aber ich habe keine Ahnung, wie das Skript aussehen sollte


22.png
33.png

Re: den Status der CCU3 LED im Skript

Verfasst: 18.02.2024, 17:50
von andrzejgilas
wenn sich die Datei "disableLED" in etc/config befindet, dann "OFF"

wenn die Datei "disableLED" in etc/config nicht vorhanden ist, dann "ON"

Wie kann man das per Skript überprüfen und per Systemvariable anzeigen?

Re: den Status der CCU3 LED im Skript

Verfasst: 18.02.2024, 21:25
von andrzejgilas
das Skript funktioniert:

Code: Alles auswählen

 string stdout;
 string stderr;
 string url="[ -f /etc/config/disableLED ] && echo OFF";
 system.Exec (url, &stdout, &stderr);
 if(!stdout == ""){WriteLine("LED "#stdout);}else{WriteLine("LED ON");}
Ich weiß nicht, wie ich das in die Systemvariable schreiben kann (true= LED ON , false= LED OFF)

Re: den Status der CCU3 LED im Skript

Verfasst: 18.02.2024, 21:59
von Tyfys
mein Vorschlag - am Ende deines Skriptes angehängt :

Code: Alles auswählen

 !deine Variable ist vom Typ Logikwert
 !Schreiben über Variablen für Systemvariablennamen und neuem Wert
 string SysVarName = "Name_deiner_Variablen";
 boolean SVrNewVal = (stdout=="");
 if (dom.GetObject(ID_SYSTEM_VARIABLES).Get(SysVarName)) {
    dom.GetObject(ID_SYSTEM_VARIABLES).Get(SysVarName).State(SVrNewVal);
 } else { 
    WriteLine("Variablenname ist falsch");
 }

Re: den Status der CCU3 LED im Skript

Verfasst: 18.02.2024, 22:46
von andrzejgilas
funktioniert ;-) ich danke Harry von ganzem Herzen

1.png
2.png
3.png

Code: Alles auswählen

string stdout;
string stderr;
string url="[ -f /etc/config/disableLED ] && echo OFF";
system.Exec (url, &stdout, &stderr);
string SysVarName = "CCU3 LED";
boolean SVrNewVal = (stdout=="");
if (dom.GetObject(ID_SYSTEM_VARIABLES).Get(SysVarName)) {
    dom.GetObject(ID_SYSTEM_VARIABLES).Get(SysVarName).State(SVrNewVal);}
die Auslösung erfolgt alle 5 Sekunden, da die CCU3 LED vom HmIP-SMO als Anzeige für erkannte Bewegungen verwendet wird
Ich glaube nicht, dass etwas Schlimmes passieren sollte, oder irre ich mich?

444.png

Re: den Status der CCU3 LED im Skript

Verfasst: 18.02.2024, 23:25
von Henke
"/etc/config/disableLED" hat nichts mit dem Status der LED zu tun, soweit ich das verstanden habe,
Du sagst es läuft.
D.h. die CCU LED ist aus, es kommt eine Bewegung und die LED der CCU geht an und in der WebUI steht AN.
Kann ich nicht glauben.

Re: den Status der CCU3 LED im Skript

Verfasst: 18.02.2024, 23:38
von andrzejgilas
Henke hat geschrieben:
18.02.2024, 23:25
"/etc/config/disableLED" hat nichts mit dem Status der LED zu tun, soweit ich das verstanden habe,
Du sagst es läuft.
D.h. die CCU LED ist aus, es kommt eine Bewegung und die LED der CCU geht an und in der WebUI steht AN.
Kann ich nicht glauben.

Hier ist die Erklärung:
333.png

Einschalten der CCU3 LED

Code: Alles auswählen

system.Exec("rm /etc/config/disableLED"); 
Ausschalten der CCU3 LED

Code: Alles auswählen

system.Exec("touch /etc/config/disableLED");


Außerdem leuchtet die LED auf, wenn die Servicemeldung erscheint, und erlischt, wenn die Servicemeldung bestätigt wird.
rr.png

das Gleiche gilt für Alarm messages:
444.png


und schließlich der Watchdog:
(hier leuchtet die Diode von selbst, aber nach 5 Minuten erlischt sie auch von selbst)
66.png

PS. Ich schalte auch kleine LEDs (rot und grün) mit Skripten ein und aus

kleine grun ein

Code: Alles auswählen

system.Exec("echo heartbeat >/sys/class/leds/ACT/trigger"); 
kleine grun aus

Code: Alles auswählen

system.Exec("echo none >/sys/class/leds/ACT/trigger"); 
kleine rot ein

Code: Alles auswählen

system.Exec("echo mmc0 >/sys/class/leds/PWR/trigger");
kleine rot aus

Code: Alles auswählen

system.Exec("echo none >/sys/class/leds/PWR/trigger");

Re: den Status der CCU3 LED im Skript

Verfasst: 19.02.2024, 06:37
von andrzejgilas
Ergebnis des Skripts über Nacht
33.png

Re: den Status der CCU3 LED im Skript

Verfasst: 19.02.2024, 08:26
von Henke
Dann wäre der saubere und logische Weg den Status der LED über "/sys/class/leds/xxx/brightness" abzufragen.
Geht dann mit allen, nutzt kein besonderes Feature von Rasberyymatic und man kann mit einem Script den Status aller in Systemvariablen schreiben.

LINK: https://www.tuxlog.de/raspberrypi/2022/ ... sschalten/

Re: den Status der CCU3 LED im Skript

Verfasst: 19.02.2024, 17:48
von andrzejgilas
Henke hat geschrieben:
19.02.2024, 08:26
Dann wäre der saubere und logische Weg den Status der LED über "/sys/class/leds/xxx/brightness" abzufragen.
Geht dann mit allen, nutzt kein besonderes Feature von Rasberyymatic und man kann mit einem Script den Status aller in Systemvariablen schreiben.

LINK: https://www.tuxlog.de/raspberrypi/2022/ ... sschalten/
Die /sys/class/leds/xxx/brightness prüft nur die eingebauten Leds im Raspi, und die blaue LED im RPI-RF-MOD ist etwas anderes. - Liege ich falsch?
Zweitens, in dem Link, den du gepostet hast, es gibt einige Codes, die auf dem RaspberryMatic nicht funktionieren werden:

Code: Alles auswählen

#Trigger abschalten für led0
echo none | sudo tee /sys/class/leds/led0/trigger 

#LED0 ausschalten
echo 0 | sudo tee /sys/class/leds/led0/brightness

#LED0 einschalten
echo 1 | sudo tee /sys/class/leds/led0/brightness

#LED0 einschalten
echo 255 | sudo tee /sys/class/leds/led0/brightness
im RaspberryMatic schon seit einiger Zeit led0/led1 ist ACT/PWR
viewtopic.php?f=65&t=78163&p=761170#p761170