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
by HarryP:
. Code-/Logzeilen formatiert (bitte immer in </> einbinden)
. Fettdruck entfernt