Seite 1 von 1

Skripte von HM auf HA umstellen

Verfasst: 16.04.2024, 12:08
von Wolf6660
Hi,

ich bin vor ca. 1 Woche auf HA umgestiegen. Nun will ich meine RaspberryMatic nicht komplett auf HA übertragen aber manche Geräte welche sowieso nicht von HM sind will ich direkt in HA integrieren.

Unteranderem habe ich ein Skript laufen welche mein ESP an dem 3 LCD2004 angeschlossen sind mit Daten befüttere.

hier ein kleiner Auszug aus dem Skript:

Code: Alles auswählen

string ip_adr = "192.168.10.244";

string haus_watt = dom.GetObject("Stromzaehler_Watt").Value().ToString(2);
string buero_watt = dom.GetObject("buero_kw").Value().ToString(2);



! Display löschen... sofort
string clear = "http://"#ip_adr#"/control?cmd=[Display1].LCDCMD,clear";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#clear#"'");



!- Zeile 1 Display 1 schreiben... verzögert 200ms
string ze1 = "http://"#ip_adr#"/control?cmd=[Display1].LCD,1,1,Komp.%A0Haus:%A0%A0%A0%A0"#haus_watt#"";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#ze1#"'",200);

!- Zeile 2 Display 1 schreiben... verzögert 400ms
string ze2 = "http://"#ip_adr#"/control?cmd=[Display1].LCD,2,1,Buero:%A0%A0%A0%A0%A0%A0%A0%A0%A0"#buero_watt#"W";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#ze2#"'",400);
Nun würde ich dies gerne in HA umsetzten. Mit ESPhome habe ich es versucht und bin an dem Problem gestoßen damit ich die Hintergrundbeleuchtung nur dann für ca. 2min. aktivieren will wenn eine Bewegung im Flur ist (Bewegungsmelder).

LCD an:

Code: Alles auswählen

string url = "http://192.168.10.244/control?cmd=[Display1].LCDCMD,on";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");

string url = "http://192.168.10.244/control?cmd=[Display2].LCDCMD,on";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");

string url = "http://192.168.10.244/control?cmd=[Display3].LCDCMD,on";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");

und LCD aus:

Code: Alles auswählen

string url = "http://192.168.10.244/control?cmd=[Display1].LCDCMD,off";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");

string url = "http://192.168.10.244/control?cmd=[Display2].LCDCMD,off";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");

string url = "http://192.168.10.244/control?cmd=[Display3].LCDCMD,off";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");
Das ganze hätte man vielleicht auch besser machen können aber Programmieren war noch nie so mein Ding aber es führt zum Ziel :)

Kann mir jemand einen Tipp geben wie man so etwas in HA umsetzt. Als Betriebssystem auf dem ESP habe ich ESPEasy bin aber für alles offen.

Danke