Text zu Variable zuorden

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Antworten
user1234
Beiträge: 62
Registriert: 15.01.2015, 20:08
System: sonstige
Hat sich bedankt: 5 Mal

Text zu Variable zuorden

Beitrag von user1234 » 03.06.2024, 22:01

Wollte per OLEd Display eine Meldung anzeigen Alarm EIN / AUS

Die Systemvariable gibt aber nur den Wert True und false.
Hab das das so probiert aber funktioniert nicht

Code: Alles auswählen

string Kombi04 = dom.GetObject("Anwesenheit").Value().ToString(1);

string Alarmstring = "AUS";
if ((Kombi04 == true) || (Kombi04 == false)) {Alarmstring = "EIN";}}else{Alarmstring=Alarmstring#"AUS";}


string url = "http://192.168.100.202/control?cmd=OLED,8,8,'"#Alarmstring# "'";
system.Exec ("wget -q -O /dev/null " #url, &stdout, &stderr);

2x HM-LC-BI1PBU-FM 8x HM-SEC-SCO 2x Pi3 (1x als Repeater) 4x HM-Sec-SD, 4x HM-Sec-SD2, 1x HMW-IO-12-Sw7, 3x HMW-IO-12-Sw14-DR, 3x HM-LC-Sw2-FM, 2x HM-WDS10-TH-O, 2x HM-ES-PMSw1-Pl, 3x HM-WDS40-TH-I-2, 1x HM-OU-CFM-Pl, 7x HM-LC-Bl1PBU-FM, 1x HMIP-PS, 8x HM-ES-PMSw1-DR, 1x HM-WDS30-T-O, 1x HM-WDS30-OT2-SM,

Tyfys
Beiträge: 594
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 32 Mal
Danksagung erhalten: 142 Mal

Re: Text zu Variable zuorden

Beitrag von Tyfys » 03.06.2024, 22:52

meinst du das :

Code: Alles auswählen

string Kombi04 = dom.GetObject("Anwesenheit").ValueName();
Gruß
Harry

MichaelN
Beiträge: 10103
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 728 Mal
Danksagung erhalten: 1743 Mal

Re: Text zu Variable zuorden

Beitrag von MichaelN » 03.06.2024, 23:21

Wenn Kombi04 ein string sein soll (warum?), dann musst du auch mit Strings vergleichen.

Hat das ChatGPT geschrieben? (spoiler : er beherrscht kein HM Skript)
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 +++

user1234
Beiträge: 62
Registriert: 15.01.2015, 20:08
System: sonstige
Hat sich bedankt: 5 Mal

Re: Text zu Variable zuorden

Beitrag von user1234 » 04.06.2024, 08:22

Tyfys hat geschrieben:
03.06.2024, 22:52
meinst du das :

Code: Alles auswählen

string Kombi04 = dom.GetObject("Anwesenheit").ValueName();

Funktioniert aber auch nicht .

habe das nicht mit ChatGPT geschrieben

ich wollte ja nur das wenn Alam AUS ist und die Systemvaiable Anwesenheit den Wert true hat ich den dann die Variable Alarmstring den Wert AUS aus sonts den Wert EIN bei Abwesenheit / false
2x HM-LC-BI1PBU-FM 8x HM-SEC-SCO 2x Pi3 (1x als Repeater) 4x HM-Sec-SD, 4x HM-Sec-SD2, 1x HMW-IO-12-Sw7, 3x HMW-IO-12-Sw14-DR, 3x HM-LC-Sw2-FM, 2x HM-WDS10-TH-O, 2x HM-ES-PMSw1-Pl, 3x HM-WDS40-TH-I-2, 1x HM-OU-CFM-Pl, 7x HM-LC-Bl1PBU-FM, 1x HMIP-PS, 8x HM-ES-PMSw1-DR, 1x HM-WDS30-T-O, 1x HM-WDS30-OT2-SM,

Tyfys
Beiträge: 594
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 32 Mal
Danksagung erhalten: 142 Mal

Re: Text zu Variable zuorden

Beitrag von Tyfys » 04.06.2024, 08:30

user1234 hat geschrieben:
04.06.2024, 08:22
Funktioniert aber auch nicht .
funktioniert schon....
aber das meintest dann du nicht.

probiere dies:

Code: Alles auswählen

string Alarmstring = "AUS";
string Kombi04 = dom.GetObject("Anwesenheit").Value();
if (Kombi04) {Alarmstring = "EIN";}
WriteLine(Alarmstring );
Gruß
Harry

user1234
Beiträge: 62
Registriert: 15.01.2015, 20:08
System: sonstige
Hat sich bedankt: 5 Mal

Re: Text zu Variable zuorden

Beitrag von user1234 » 04.06.2024, 09:19

Es Zeigt nur kurz EIN an nach den Neustart des Display dann nach kommt wieder true und false


Code: Alles auswählen

string Alarmstring = "AUS";
string Kombi04 = dom.GetObject("Anwesenheit").Value();
if (Kombi04) {Alarmstring = "EIN";}
WriteLine(Alarmstring );


string url = "http://192.168.100.202/control?cmd=OLED,8,8,'"#Alarmstring# "'";
system.Exec ("wget -q -O /dev/null " #url, &stdout, &stderr);
2x HM-LC-BI1PBU-FM 8x HM-SEC-SCO 2x Pi3 (1x als Repeater) 4x HM-Sec-SD, 4x HM-Sec-SD2, 1x HMW-IO-12-Sw7, 3x HMW-IO-12-Sw14-DR, 3x HM-LC-Sw2-FM, 2x HM-WDS10-TH-O, 2x HM-ES-PMSw1-Pl, 3x HM-WDS40-TH-I-2, 1x HM-OU-CFM-Pl, 7x HM-LC-Bl1PBU-FM, 1x HMIP-PS, 8x HM-ES-PMSw1-DR, 1x HM-WDS30-T-O, 1x HM-WDS30-OT2-SM,

MichaelN
Beiträge: 10103
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 728 Mal
Danksagung erhalten: 1743 Mal

Re: Text zu Variable zuorden

Beitrag von MichaelN » 04.06.2024, 09:43

user1234 hat geschrieben:
04.06.2024, 09:19
dann nach kommt wieder true und false
Dann kommen die Daten woanders her.

Tyfys Programm gibt nur AUS oder EIN raus.
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 +++

user1234
Beiträge: 62
Registriert: 15.01.2015, 20:08
System: sonstige
Hat sich bedankt: 5 Mal

Re: Text zu Variable zuorden

Beitrag von user1234 » 04.06.2024, 10:17

sorry war noch ein Kleiner Tippfehler drin jetz funktioniert es Danke !
2x HM-LC-BI1PBU-FM 8x HM-SEC-SCO 2x Pi3 (1x als Repeater) 4x HM-Sec-SD, 4x HM-Sec-SD2, 1x HMW-IO-12-Sw7, 3x HMW-IO-12-Sw14-DR, 3x HM-LC-Sw2-FM, 2x HM-WDS10-TH-O, 2x HM-ES-PMSw1-Pl, 3x HM-WDS40-TH-I-2, 1x HM-OU-CFM-Pl, 7x HM-LC-Bl1PBU-FM, 1x HMIP-PS, 8x HM-ES-PMSw1-DR, 1x HM-WDS30-T-O, 1x HM-WDS30-OT2-SM,

user1234
Beiträge: 62
Registriert: 15.01.2015, 20:08
System: sonstige
Hat sich bedankt: 5 Mal

Re: Text zu Variable zuorden

Beitrag von user1234 » 24.06.2024, 08:33

So es ist leider ein Kleines Problem entstanden, ich habe das script so mit 7 Werten und immer wenn sich einer der 7 Werte ändert wird alles neu geschrieben.
nach einiger Zeit ist scheinbar der Raspberry überlastet, die Programme laufen verzögert ab, so z.B. umschaltung auf Nach erfolgt 2h später, Meldung vom Garagentor kommt auf 1-2h später.

Vieleicht wäre es besser das ganze auf den iobroker zu verlagern
2x HM-LC-BI1PBU-FM 8x HM-SEC-SCO 2x Pi3 (1x als Repeater) 4x HM-Sec-SD, 4x HM-Sec-SD2, 1x HMW-IO-12-Sw7, 3x HMW-IO-12-Sw14-DR, 3x HM-LC-Sw2-FM, 2x HM-WDS10-TH-O, 2x HM-ES-PMSw1-Pl, 3x HM-WDS40-TH-I-2, 1x HM-OU-CFM-Pl, 7x HM-LC-Bl1PBU-FM, 1x HMIP-PS, 8x HM-ES-PMSw1-DR, 1x HM-WDS30-T-O, 1x HM-WDS30-OT2-SM,

Benutzeravatar
Baxxy
Beiträge: 11478
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 671 Mal
Danksagung erhalten: 2433 Mal

Re: Text zu Variable zuorden

Beitrag von Baxxy » 24.06.2024, 09:41

Überlastet würde ich nicht sagen.
Vermutlich ist eher die ReGa (Logikengine) blockiert weil dein Display vielleicht teilweise nicht erreichbar ist.

Timeouts für wget einbauen und das Ganze mit dem & versehen.
So ein Display-Kommando schickt man nach dem "fire&forget" Prinzip ab, die ReGa braucht keine "Rückmeldung" via stdout/stderr.

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“