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!

6 Meinungen zu “MQTT Sensor einbinden in Homeassistant – fehlende Daten manuell hinzufügen

  1. Otto sagt:

    Hallo und danke!
    Dieser Beitrag hat mir schon etwas geholfen, leider habe ich einen Fall, der sich mir noch nicht ganz erschließt, bzw. ich nicht weiß wie ich es in HA ungesetzt bekomme.

    Es handelt sich um eine MQTT Msg in JSON format:
    Topic ist:
    /myPLCData
    und die Payload:
    {„date“: „2022-12-11-20:58:32“, „data“:{„status_GaragenTuer“:1.0}
    Die Daten kommen aus einer SPS und gehen an den MQTT Broker! Ich verwende in HA die MQTT Integration und habe dort den MQTT Broker konfiguriert und sehe auch die Daten, wenn ich mich auf das o.g. Topic „subscribe“.
    In einer eigenen YAML in HA habe ich folgenden versucht:
    # Example mqtt_plc.yaml entry
    mqtt:
    sensor:
    – name: „Garagentuer“
    state_topic: „/myPLCData“
    value_template: „{{ value_json.data.status_GaragenTuer }}“

    Leider kann ich keine Änderung am Sensor feststellen was mache ich falsch oder muss ich zwingend auf eine anderes Format umsteigen? Beispiel /myPLCData/Status_Garagntuer 1.0

  2. Maddin sagt:

    hallo, ich bekomme einfach nicht die Gas und Wassersensoren in HA von AI on the Edge in das Energy Dasboard. kannst du mir helfen bitte?

  3. Brutus sagt:

    Hallöchen. Ich habe folgendes vor und scheitere bisher klaglos. Ich möchte Daten die über MQTT kommen visualisieren . Es geht sich um den Verbrauch der Pellets. Die Daten werden gesendet. ( geprüft mit MQTT EXPL) aber ich scheitere daran einen Sensor zu erstellen.

    Momentan hab ich das in meiner confi.

    mqtt:
    sensor:
    – name: „Pellets“
    state_topic: „haassohn/0/device/consumption“
    unit_of_measurement: ‚KG‘
    device_class: energy

    bin absoluter noob. Ich empfange aber schon daten über MQTT ( Tasmota Strom zähler) . das funktioniert 1A.

    Mich beschleicht der Verdacht das ich nicht weis was ich tue.

  4. José Ayala Villareal sagt:

    Hallo, leider sehe ich die Felder mit Code als schwarz umrandete Vierecke ohne Inhalt, nur weiße Flächen. Habe Safari und Firefox eingesetzt.
    Gibt es Abhilfe?
    Ich finde deinen Artikel sehr interessant. Gruß.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert