MQTT – switch in Home Assistant

MQTT – Relais

In diesem Projekt setzen wir den Ausgang (D5 – GPIO 14) an unserem NodeMCU, der ein Relais schaltet. Das Relais kann dann verwendet werden, um Geräte an- und auszuschalten wie z. B. einen Ventilator oder Lampen. Dieser Ausgang wird über MQTT mit dem inTopic angesteuert und an unseren NodeMCU übertragen. Wenn der Payload ON ist, dann wird der Ausgang D5 auf LOW gesetzt. LOW deswegen, da das Signal invertiert ist. Bei einem Payload von OFF schalten wir den Ausgang of HIGH was das Relais ausschaltet.

Nach dem Schalten senden wir über das MQTT state_topic den Status vom Relais mit dem Payload ON oder OFF, je nach dem Status von unserem Relais. Zusätzlich verwenden wir noch das OTA (over the air) um weitere updates direkt über Wi-Fi ausführen zu können, um uns dem Umweg über das USB-Kabel zu ersparen. Da ich hier zum Testen kein OTA Passwort verwenden ist es aus-markiert, ich empfehle euch eines bei einem Dauereinsatz zu verwenden.

NodeMCU Relais Aufbau
Warnhinweis Relais
MQTT – Switch im YAML file

Wenn wir einen Ausgang über MQTT von Home Assistant zu unserem ESP ansteuern möchten, dann geht das mit switches. Idealerweise wird, nachdem der Output seinen Status ändert, über das state_topic die Änderung zurückgemeldet. Wenn das state_topic nicht verfügbar ist, dann arbeitet der switch im sogenannten optimistic mode. Das bedeutet, dass der switch nach der Aktivierung seinen Status sofort ändert. Ist der optimistic mode auf false gesetzt, das ist automatisch der Fall, wenn ein state_topic angegeben ist, dann wartet der switch auf die Rückmeldung über das state_topic bevor er seinen Status ändert.

Als Platform definieren wir MQTT und darunter können wir uns jetzt um die Topic’s und Payload’s kümmern. Über das command_topic: wird der Payload ON oder OFF gesendet und in unserem Code am ESP als inTopic behandelt. Nachdem der Ausgang entsprechend gesetzt wurde, senden wir über das state_topic den Payload ON oder OFF zurück zu Home Assistant.

Zu guter letzt vergeben wir für unseren switch noch einen Namen, da ich das MQTT – Relay  Beispiel verwende (Link unten), benenne ich den switch Relay.

				
					mqtt:
  switch:
    - command_topic: MQTT_Relay/command
      state_topic: MQTT_Relay/state
      payload_on: "ON"
      payload_off: "OFF"
      name: "Relay"
				
			

★☆★ Projekt Material ★☆★

* https://amzn.to/2U7Urmn – NodeMCU

* https://amzn.to/3a5yUjQ – 1 Stk. Relais 5V KY-019 Modul – 10A

* https://amzn.to/2xeKb2V – Set 3 x 40 STK. je 20 cm M2M/ F2M / F2F

* https://amzn.to/2QQ7JSL – Breadboard Steckbrett mit 830 Kontakten

* https://amzn.to/2J3w8j4 – Raspberry Pi Server mit MQTT

★☆★ 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

►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

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

USB Kabel:

* https://amzn.to/2y01THNUSB A auf Micro USB  Kabel 0.5m

* https://amzn.to/2xkgqgQ – USB auf Mini USB Kabel 0.5m

* https://amzn.to/2QBxCp7 – USB A zu USB B Kabel 0.5m

Netzteile:

* https://amzn.to/3beWY3V – 2er-Pack USB Ladegerät 5V/2A

* https://amzn.to/398WzP9 – Raspberry Pi 4 Netzteil, USB-C, 5.1V, 3A

* https://amzn.to/2wsS8Bh  – HomeSpot Netzteil 3A/5V inkl. 1,5M Micro USB Kabel

Alle Links mit “*” sind Amazon Affiliate Links. Ich bekomme bei einer Bestellung einen kleinen Teil vom Umsatz, ohne das euch dafür Mehrkosten entstehen.

 

Source Code für die Sensoren

Zum den Videos

★☆★ Wenn ihr den Kanal unterstützen wollt über ★☆★

oder über

Twint Spenden Code