MQTT Sensor einbinden in Homeassistant – fehlende Daten manuell hinzufügen

Du hast einen Wert in deinem MQTT Broker, den du in Homeassistant verwenden möchtest? Wie das geht, zeige ich dir in diesem Artikel.

Im Artikel gehe ich davon aus, dass du bereits einen Broker installiert hast.

MQTT ist ein geniales Protokoll für Smarthome Geräte und wird in allen möglichen Systemen inzwischen hervorragend unterstützt. Die Einbindung in Homeassistant ist super einfach. Wenn du einen bestehenden Broker hast, dann musst du in der Configuration.yaml nur die entsprechende Konfiguration setzen. Ab dann ist dein Homeassistant in der Lage von diesem Broker Daten zu holen oder Daten zu senden.

In der standard Konfiguration erkennt Homeassistant neue Geräte und fügt diese automatisch hinzu. Dies kann angepasst werden unter Einstellungen > Integrationen > MQTT. Manchmal ist es Homeassistant dazu aber nicht in der Lage. Das liegt dann vor, wenn es exotische Modelle sind oder wenn du einen Eigenbau Sensor implementieren willst.

Alternativ könntest du dein Homeassistant auch so konfigurieren, dass es keine MQTT Werte automatisch als Entität anlegt, sondern dies manuell erfolgen muss. Dies würde CPU Last und den Speicherverschleiss deutlich reduzieren. Entzieht leider aber auch viel Komfort, da jedes Tasmota Gerät aufwendig manuell hinzugefügt werden müsste.

MQTT Wert als Sensor hinzufügen

Das Abonnieren eines Wertes ist einfach. Öffne wie immer deinen File Editor und suche den MQTT Bereich. Ist dieser noch nicht vorhanden, dann erstellst du einen auf oberster Ebene.

Die einfachste Konfiguration kann bereits so aussehen:

mqtt:
 sensor:
    - state_topic: "home/arbeitszimmer/temperature"

Hinweis: das Schema hat sich in der aktuellen Version geändert (Stand August 2022). Früher wurden alle MQTT Sensoren auch im Sensor-Block eingefügt. Jetzt werden diese direkt im Mqtt-Block eingefügt, in der YAML. Prüfe, ob du eventuell schon Sensoren in der alten Formatierung erzeugt hast.

In meinem Anwendungsfall hat mir der Sensorwert von AI on the Edge Wasserzähler gefehlt. Diesen konnte ich dann über folgende Konfiguration hinzufügen. In dieser rechne ich auch direkt von m³ in Liter um, da es für mich einfacher lesbar ist in Dashboards etc.

  
 mqtt: 
  #eventuell bestehende konfig steht hier.
  #falls mqtt: nicht vorhanden ist, zur Hauptebene hinzufügen


  sensor:
  - name: "Wasserzähler Wert"
    state_topic: "wasser_zaehler/json"
    unit_of_measurement: 'L'
    value_template: '{{ value_json.value  * 1000  | int }}'
    device_class: energy
    state_class: total_increasing
  

Beispiel Energiewerte von Tasmota

Leider bekomme ich über eine Tasmota Steckdose die Energiewerte nicht automatisch, diese haben ch dann einfach manuell hinzufügen können.

mqtt:
 sensor:
  - name: "Waschmaschine Strom aktuell"
    state_topic: "waschmaschine/tele/SENSOR"
    value_template: '{{ value_json["ENERGY"]["Power"] }}'
    unit_of_measurement: "W"

  - name: "Waschmaschine Strom gesamt"
    state_topic: "waschmaschine/tele/SENSOR"
    value_template: '{{ value_json["ENERGY"]["Total"] }}'
    unit_of_measurement: kWh
   

Weitere Beispiele findest du in der Doku: https://www.home-assistant.io/integrations/sensor.mqtt/

MQTT Topic und Payload herausfinden

Die Einbindung als Sensor ist super einfach, wenn man das genaue Topic weiß. Ungünstigerweise weiß man es nicht immer und es ist ein Tappen im Dunkeln. Es gibt jedoch tolle Apps, mit der man die Daten, die auf dem MQTT Broker eintreffen, visualisieren kann. Ich nutze dazu gern MQTT Explorer. Die Verbindung erfolgt einfach mit den Daten deines MQTT Brokers.

In diesem Beispiel Screenshot siehst du, dass ich das Topic von meinem Shelly der die Produktion von meinem Balkonkraftwerk überwacht. Durch einfaches anklicken im Tool, wurde mir rechts der korrekte Topic Pfad zusammengesetzt.

Jetzt könnte ich einen neuen Sensor anlegen mit folgender Konfiguration:

mqtt:
  sensor: 
	  - name "produktion balkonkraftwerk"
		state_topic "shellies/shellyswitch25-F40A71/relay/0/power"
      	unit_of_measurement: W

Ebenso hast du die Möglichkeit, dir die komplette Payload anzuzeigen. Dies hat beispielsweise geholfen herauszufinden, wie ich die Verbrauchsdaten bei der Tasmota Steckdose abfragen kann. Das Beispiel dafür steht weiter oben.

Probleme? Einfach fragen!

Hast du Probleme bei der Implementierung? Stell gern deine Frage in den Kommentaren, ich versuche dir bei deinem Problem zu helfen.

NICHTS VERPASSEN
Neue Beiträge direkt per Mail!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.