Skripte von HM auf HA umstellen

Open Source Hausautomation

Moderator: Co-Administratoren

Antworten
Wolf6660
Beiträge: 116
Registriert: 03.04.2012, 08:27
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Skripte von HM auf HA umstellen

Beitrag von Wolf6660 » 16.04.2024, 12:08

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

Antworten

Zurück zu „Home Assistant“