Ein Thermostat in Home Assistant erstellen!
von Edi · 27/11/2021
Hier möchte ich euch ein pratisches Beispiel zeigen, wie man eine Steuerung (Thermostat) in Home Assistant erstellt. Dazu benötigt wird einen Temperatursensor und ein Relais, dass die Heizung schaltet.
Das Thermostat konfigurieren wir uns in YAML und zur Darstellung im Dashboard verwenden wir die Thermostat Karte. Aber alles der Reihe nach und wir starten mit dem Sensor und der Heizung. Den Source-code der beiden Beispiele findet ihr auf Github.

Aufbau Sensoreinheit

Aufbau Heizeinheit (*LED)

Beim Testaufbau verwende ich eine LED um den Ausgang “sichtbar” zu machen. Hier wird dann natürlich ein Relais verwendet um die Heizung schalten zu können.
Hysterese - Zweipunkt Regler

Bei der Hysterese gibt man einen oberen und einen unteren Schwellwert an. In unserem Beispiel starten wir mit einer Temperatur unter 20 Grad und die Heizung ist an. Die Temperatur steigt an und wenn sie den oberen Schwellwert, hier 25 Grad überschreitet, dann wird die Heizung ausgeschalten und die Temperatur fängt langsam wieder an zu sinken. Fällt sie unter 20 Grad, dann startet der Heizvorgang wieder von vorne.
Je nach Stärke der Heizung und der Dauer der Temperaturänderung in einem Raum können die Schwellwerte dichter beieinander sein.
Konfiguration in HASSIO - mit YAML
Im configuration.yaml file müssen wir zuerst den Sensor und die Heizung erstellen. Die Heizung ist ein switch und über das command_topic wird sie ein und ausgeschalten mit dem Payload ON / OFF.
mqtt:
switch:
- unique_id: heater_switch
command_topic: "HeaterRelayIn"
state_topic: "HeaterRelayState"
payload_on: "ON"
payload_off: "OFF"
Der Temperatursensor wird in YAML unter sensor erstellt und die Werte empfangen wir mittels MQTT unter dem Topic HeaterSensorOut.
mqtt:
sensor:
- unique_id: wohnzimmer_temp
state_topic: HeaterSensorOut
name: "WohnzimmerTemp"
unit_of_measurement: "°C"
Nachdem wir den Sensor und das Relais in Home Assistant eingebunden haben, können wir uns um das Thermostat kümmern. Dazu geben wir in YAML folgendes ein.
climate:
- platform: generic_thermostat
name: Testthermostat
heater: switch.mqtt_switch
target_sensor: sensor.wohnzimmertemp
min_temp: 15
max_temp: 30
target_temp: 27
hot_tolerance: 1
initial_hvac_mode: "off"
away_temp: 16
precision: 0.1
ac_mode: false
cold_tolerance: 1
Bei Heater geben wir die Entität von unserer Heizung ein und unter target_sensor die Entität vom Temperatur Sensor. Die Entitäten Namen findet ihr unter Einstellungen im Tab Entitäten.
Mit min- und max_temp können wir den Nutzungsbereich vom Thermostat definieren und mit der target_temp setzen wir die gewünschte Temperatur beim Start. Diese kann danach in der Karte verändert werden. Mit hot- und cold_tolerance können wir die Hysterese definieren, ab wann sich die Heizung einschalten soll. den ac-mode setzen wir auf false da wir eine Heizung und keine Kühlung verwenden wollen.
Wer das Thermostat für eine Kühlung verwenden möchte, der kann den ac_mode auf true setzen. Beides gleichzeitig ist mit der aktuellen Temperatur Karte nicht möglich.
In der Übersicht können wir die Karte Thermostat hinzufügen und bei Entität unser in YAML erstelltes Thermostat auswählen. Optional können wir noch einen Namen vergeben.

Mit dem Schieberegler können wir uns die gewünschte Temperatur auswählen und sobald der Temperaturwert unterschritten ist, schaltet sich die Heizung bis zum Erreichen des oberen Grenzwertes ein. Auf der rechten unteren Seite können wir die Heizung manuell ausschalten.


Source Code's
► DS18B20 Sensor:
* https://amzn.to/3C2WX0P – DS18B20 – TO-92 Sensor
* https://amzn.to/3C1Ktqd – 10 x DS18B20 – TO-92 Sensor
* https://amzn.to/3aUyZsK – DS18B20 wasserdichte Stahlsonde mit 1m Kabel
* https://amzn.to/3vs1lnD– 5 x DS18B20 wasserdichte Stahlsonde mit 1m Kabel
►Relais:
* https://amzn.to/3a5yUjQ – 1 Stk. Relais 5V KY-019 Modul – 10A
* https://amzn.to/2xi4Kvq – 3 Stk. Relais 5V KY-019 Modul – 10A
* https://amzn.to/2U9ZqmL – 5 Stk. Relais 5V KY-019 Modul – 10A
►Jumper Wire:
* https://amzn.to/2WxKwIl – Female to Female F2F 40 STK. je 20 cm
* https://amzn.to/2xeKb2V – Set 3 x 40 STK. je 20 cm M2M/ F2M / F2F
►Breadboard:
* https://amzn.to/2QQ7JSL – Breadboard Steckbrett mit 830 Kontakten
* https://amzn.to/35GcPIp – 3 Stk. Breadboard Steckbrett mit 400 Kontakten
★☆★ Microcontroller ★☆★
►Node-MCU ESP8266 Board:
* https://amzn.to/2U7Urmn – NodeMCU ESP8266 ESP-12F
* https://amzn.to/2J5wLJ3 – 3er Set, ESP8266 ESP-12F
* https://amzn.to/3belvGd – 5er Set, ESP8266 ESP-12F
►Wemos D1 mini – ESP8266-12F Board
* https://amzn.to/38l9Syu – Wemos D1 mini ESP8266-12F
* https://amzn.to/3v56YHC – 3er Set, Wemos D1 mini ESP8266-12F
►ESP32 und ESP32 Node-MCU Boards:
* https://amzn.to/3erQVKq – ESP32 Node-MCU Board
* https://amzn.to/2Om89OW – 3er Set ESP32 Node-MCU Board
* https://amzn.to/3erIkaS – 5er Set ESP32 Node-MCU Board
* https://amzn.to/2Ct9H7c – 4 Stück ESP32 Module
►Raspberry Pi:
* https://amzn.to/2wr0rxD – Raspberry Pi 4 -4GB Kit
* https://amzn.to/2Uobpfe – Raspberry Pi 4 – 4GB
* https://amzn.to/3rzAvYy – Raspberry Pi 4 – 8GB Kit
* https://amzn.to/2KtZFXR – Raspberry Pi 4 – 8GB
Zum Video
★☆★ Wenn ihr den Kanal unterstützen wollt über ★☆★
oder über
