Umzug Raspberrymatic Programme , Timer usw. auf HA

Hallo,
ich hab HA in Kombi mit Homematic schon ne Weile im Einsatz, möchte nun aber die auf der CCU / Raspberrymatic liegenden Programme auf HA umziehen/abbilden.
Leider stoße ich hier an Grenzen und/oder denke zu komplex.
ICh hab es hinbekommen einen Timer Helfer zu erstellen, der über eine Automation abgefragt wird ob er aktiv ist und dann meine Soll TEmperatur auf meinen gewünschten Wert setzt.
Aber wie kann ich z.B. diesen Timer mit einem Taster starten? Und brauche ich wirklich so viele Automationen? Gefühlt muss ich 10 Stück erstellen um meine Programme abzubilden.

So sieht als Beispiel ein aktuelles Programme für meine Heizung auf der CCU aus.

**# Geräte #####################**
Wandthermostat: bad_thermostat_ip_control5
Temperatursensor außen: Terrasse.Wetter1
Virtuelle Fernbedienung (Knopf) : bad_thermostat_ip_timer_on_button_5
Virtuelle Fernbedienung (Knopf) : bad_thermostat_ip_timer_off_button_6
Systemvariable : bad_thermostat_ip_control5_soll_temp (Zahl 0 bis 40)
Systemvariable : bad_thermostat_ip_control5_timer_starting (Zeichenkette)
Systemvariable : bad_thermostat_ip_control5_timer_ending (Zeichenkette)
Systemvariable : bad_thermostat_ip_control5_timer_status (Logikwert 1 oder 0)

**# Programme #####################**

Name: bad_thermostat_ip_timer_on_program

Wenn:
Geräteauswahl: bad_thermostat_ip_timer_on_button_5 bei Tastendruck kurz

Dann:

Geräteauswahl: bad_thermostat_ip_control5:1 sofort Solltemperatur auf 30 C
Geräteauswahl: bad_thermostat_ip_timer_off_button_6 verzögert um 90 Minuten Tastendruck kurz
Geräteauswahl: bad_thermostat_ip_control5:1 sofort Modus Manu
Geräteauswahl: bad_thermostat_ip_control5:1 verzögert um 10 Sekunden bad_thermostat_ip_control5_soll_temp mit bad_thermostat_ip_control5:1 Solltemperatur
Systemzustand: bad_thermostat_ip_control5_timer_status sofort ON
Skript sofort:
	var obj1 = dom.GetObject("bad_thermostat_ip_control5_timer_starting");
	var obj2 = dom.GetObject("bad_thermostat_ip_control5_timer_ending");
	string jetzt = system.Date("%F %T");
	integer add = 5400; ! wieviel Sekunden später? 1200 = 20min, 5400 = 90min, 7200 = 2stunden
	integer diff = jetzt.ToTime().ToInteger() + add;
	time nachher = diff.ToTime();
	obj1.State(jetzt);
	obj2.State(nachher);


WENN der Taster bad_thermostat_ip_timer_on_button_5 gedrückt wird passiert:
Die Soll Temperatur für das Bad Thermostat wird auf 30 Grad gesetzt. Nach 90 Minuten wird der Taster bad_thermostat_ip_timer_off_button_6 automatisch gedrückt um das Programm bad_thermostat_ip_timer_off_program zu starten.
Der Modus des Thermostat wird auf MANU gestellt. Um die neue Soll Temperatur als kleines Entitätenfeld anzeigen zu können in HA wird die Soll Temp. noch in die Variable bad_thermostat_ip_control5_soll_temp geschrieben.
Die Variable bad_thermostat_ip_control5_timer_status wird auf ON gesetzt um zu sehen, dass der 90 Minuten Timer aktiv ist.

Das Skript am Ende setzt noch die Anfangszeit und die Endzeit in die Variablen

bad_thermostat_ip_control5_timer_starting und bad_thermostat_ip_control5_timer_ending
######################

Name: bad_thermostat_ip_timer_off_program

Wenn:
Geräteauswahl: bad_thermostat_ip_timer_off_button_6 bei Tastendruck kurz

Dann:
Geräteauswahl: bad_thermostat_ip_control5:1 sofort Solltemperatur auf 5 C
Geräteauswahl: bad_thermostat_ip_control5:1 sofort Modus Manu
Geräteauswahl: bad_thermostat_ip_control5:1 verzögert um 10 Sekunden bad_thermostat_ip_control5_soll_temp mit bad_thermostat_ip_control5:1 Solltemperatur
Systemzustand: bad_thermostat_ip_control5_timer_status sofort OFF
Systemzustand: bad_thermostat_ip_control5_timer_starting sofort TIMER ABGEBROCHEN
Systemzustand: bad_thermostat_ip_control5_timer_starting verzögert um 20 Sekunden KEIN TIMER AKTIV
Systemzustand: bad_thermostat_ip_control5_timer_ending sofort TIMER ABGEBROCHEN
Systemzustand: bad_thermostat_ip_control5_timer_ending verzögert um 20 Sekunden KEIN TIMER AKTIV


WENN der Taster bad_thermostat_ip_timer_off_button_6 gedrückt wird passiert:

Die Soll Temperatur für das Bad Thermostat wird auf 5 Grad gesetzt um die Heizung abzuschalten.
Der Modus des Thermostat wird auf MANU gestellt. Um die neue Soll Temperatur als kleines Entitätenfeld anzeigen zu können in HA wird die Soll Temp. noch in die Variable bad_thermostat_ip_control5_soll_temp geschrieben.
Die Variable bad_thermostat_ip_control5_timer_status wird auf OFF gesetzt um zu sehen, dass der kein Timer aktiv ist.
Die Variablen bad_thermostat_ip_control5_timer_starting und bad_thermostat_ip_control5_timer_ending werden sofort auf TIMER ABGEBROCHEN gesetzt und kurz danach auf KEIN TIMER AKTIV.
######################

Name: bad_thermostat_ip_nacht_temp_gering_program_neu_test

Wenn:
Zeitsteuerung: täglich 3:30 nachts zum Zeitpunkt auslösen
UND
Geräteauswahl: Terrasse:Wetter1:1 bei Ist-Temperatur kleiner oder gleich 8.00 C bei Änderung auslösen

Dann:
Geräteauswahl: bad_thermostat_ip_timer_on_button_5 sofort Tastendruck kurz

Jeder Nacht um 3:30 wird geprüft ob es kälter oder gleich 8 Grad ist, wenn ja wird der Taster bad_thermostat_ip_timer_on_button_5 aktiviert um das Programm bad_thermostat_ip_timer_on_program zu starten.
######################

Ich wäre sehr dankbar, wenn mir jemand etwas bei der Umsetzung helfen würde oder den ein oder anderen Tip hat.

Vielen Dank
Andi

:crayon:by HarryP:
. Code-/Logzeilen formatiert (bitte immer in </> einbinden)
. Fettdruck entfernt

Willkommen im Forum!

Das Thema HM + HA ist hier insbesondere in Zusammenhang mit TRV’s schon oft diskutiert worden. Ich hatte auch anfangs den Ehrgeiz, alles auf HA umzustellen. Ist aber zu komplex und störanfällig (z.B. wegen des Dutycycles).
Daher habe ich alles, was sich innerhalb von HM befindet auch dort gelassen. Insbsondere die TRV Steuerung läuft hier problemlos in Verbindung mit HM Fensterkontakten.

Erst, wenn ich HM Komponenten mit HA Devices verknüpfen will, dann mache ich das in HA.

Hallo,
vielen Dank für Deine schnelle Antwort.
Hmm, dann werde ich zumindest versuchen die Variable “bad_thermostat_ip_control5_soll_temp” in HA abzubilden.
Sprich wenn sich die Soll Temperatur eines Thermostat ändert, den Wert dann in eine neue Entität schreiben. Das mit der Systemvariablen in HM funktioniert sehr unzuverlässig und wir in HA nicht immer übermittelt, siehe Bild.


Mal schauen wie ich das anstelle.

Danke
Andi