Haussteuerung - Sauna
Als ich mal wieder auf der Suche nach neuen Ideen war, was ich noch so automatisieren könnte, fiel mir unsere Sauna ein. Ihr werdet jetzt vielleicht denken, was kann man da großartig automatisieren? Nun eigentlich ganz einfach, zum einen das Einschalten per App und eine Info, sobald die Sauna die Betriebstemperatur erreicht hat.

Technisch musste dazu erst einmal dafür sorgen, dass ich irgendwie den Saunaofen schalten kann. Dazu habe ich die folgenden Komponenten im Schaltschrank verbaut:

- Universal Lastschuetz, Relais 230V, 400V 3xNO, 1xNC bis 20A f. Hutschiene
- Homematic Hutschienen Schaltaktor HM-LC-Sw1-DR

Grundsätzlich muss ich aber wieder sagen, Finger weg vom Schaltschrank, wenn Ihr nicht wisst, was Ihr tut. Denn:

Strom macht klein, schwarz und hässlich ;)

Hier der Code des eingebundenen Schaltaktors in FHEM:

define UG.Saunaofen CUL_HM 3710B3
attr UG.Saunaofen IODev HMLAN0
attr UG.Saunaofen IOgrp CCU:HMLAN0
attr UG.Saunaofen autoReadReg 4_reqStatus
attr UG.Saunaofen event-on-change-reading state
attr UG.Saunaofen expert 1_on
attr UG.Saunaofen firmware 2.7
attr UG.Saunaofen group 1: Sauna
attr UG.Saunaofen model HM-LC-Sw1-DR
attr UG.Saunaofen peerIDs 00000000,3710B301,
attr UG.Saunaofen room UG.Sauna
attr UG.Saunaofen serialNr MEQ0276306
attr UG.Saunaofen subType switch
attr UG.Saunaofen webCmd statusRequest:toggle:on:off

Das Schalten ist theoretisch schon möglich. Ich wollte aber noch einen Sicherheitsmechanismus haben, der die Sauna ganz sicher spätestens wieder nach 3 Stunden ausschaltet. Das Schöne bei dem Aktor ist, dass er einen internen Timer hat, den man dafür nutzen kann. Dummerweise wird der nur bei physischem Tastendruck angetriggert, den wir aber nicht haben. Zum Glück kann man das aber auch simulieren, was zwar nicht kompliziert ist, aber die Lösung etwas aufbläht.

set UG.Saunaofen regSet shOnTime 10800 self01

- zuerst das Register vom Aktor auf 10800 Sekunden = 3h setzen

define UG.Saunaschalter dummy
attr UG.Saunaschalter group 1: Sauna
attr UG.Saunaschalter room UG.Sauna
attr UG.Saunaschalter setList off on

- Dummyschalter definieren

define UG.SaunaAn notify UG.Saunaschalter:on set UG.Saunaofen press short self01;; set UG.Saunagaenge 1
attr UG.SaunaAn group 1: Sauna
attr UG.SaunaAn room UG.Sauna
define UG.SaunaAus notify UG.Saunaschalter:off set UG.Saunaofen press short self01;; set UG.Saunagaenge 0
attr UG.SaunaAus group 1: Sauna
attr UG.SaunaAus room UG.Sauna

define set_UG_SaunaAn notify Saunaofen* { if (Value("UG.Saunaofen") eq "on") { fhem ("setstate UG.Saunaschalter on");; fhem ("setstate UG.SaunaBereit defined") }}
attr set_UG_SaunaAn group 1: Sauna
attr set_UG_SaunaAn room UG.Sauna

define set_UG_SaunaAus notify Saunaofen* { if (Value("UG.Saunaofen") eq "off") { fhem ("setstate UG.Saunaschalter off;;set UG.Saunagaenge 0") }}
attr set_UG_SaunaAus group 1: Sauna
attr set_UG_SaunaAus room UG.Sauna

- auf den Dummy reagieren und den Status des Dummies setzen, wenn der Ofen an- bzw. ausgeschaltet wird, UG.Saunagaenge wird nur für statistische Zwecke geschrieben