Volkszähler und MQTT: Zählerstand umrechnen

Hallo Zusammen,
mit Interesse habe ich das Video über die Integration eines Tasmota-Lesekopfs in den Homeassistant gesehen.
Jetzt habe ich aber schon einen Volkszähler, der mir die Werte meiner Zähler ausliest. Den habe ich inzwischen an MQTT “angeschlossen” und der produziert auch nette Werte.
Leider bekomme ich bei den Zählerständen nicht hin, dass mir der Homeassistant sagt, wie viel Strom gerade von der Solaranlage erzeugt wird und wie viel Strom gerade vom Haus gezogen wird. Der Voklszähler zeigt mir die Werte netterweise korrekt an:


Wie kann ich nun den Homeassistant dazu überreden, mir die Werte korrekt anzuzeigen?
In meiner Config.yaml sieh das so aus:

# Sensoren für den Volkszähler
mqtt:
    - sensor:
        name: "ZaehlerBezugKwh"
        unique_id: sensor.ZaehlerBezug_kwh 
        device_class: energy
        state_topic: vzlogger/data/chn0/raw 
        state_class: total_increasing
        value_template: "{{ value_json.value | float | round(1) }}"
        unit_of_measurement: "Wh"
    - sensor:
        name: "ZaehlerLieferungKwh"
        unique_id: sensor.ZaehlerLieferung_kwh
        device_class: energy
        state_topic: vzlogger/data/chn1/raw 
        state_class: total_increasing
        value_template: "{{ value_json.value | float | round(1) }}"
        unit_of_measurement: "Wh"

DANKE schonmal!

Wie sehen denn die zwei topics bzw. Der Payload aus?
vzlogger/data/chn0/raw
vzlogger/data/chn1/raw

Am besten den Payload für das Topic aus den MQTT Explorer entnehmen.

Gruß
Osorkon

Hallo, Danke schonmal für die Reaktion :slight_smile:
Hier habe ich einen Screenshot aller Channels:
vzlogger_Kanäle

Das sieht mir bald aus wie chn2 oder 4 - 6

Die musst du dann ebenfalls als Sensoren anlegen.
Das state_class kannst du weg lassen.

4-6 sind die Leistungen an L1, L2 und L3.
chn0 ist 1-0:1.8.0 (Stromzählerstand Bezug Eintarif)
chn1 ist 1-0:2.8.0 (Stromzählerstand Einspeisung Eintarif)
chn2 ist 1-0:16.7.0 (Leistung (Momentan))
Das oben unter mqtt: (-sensor:) ist nicht die Sensor-Definition?
Die state_class lasse ich dann mal weg - Danke schonmal!

Doch unter Sensor ist die Sensor Definition.

Für den Momentanwert müsste es mMn wie folgt aussehen:

- sensor:
    name: "Verbrauch aktuell"
    unique_id: sensor.Verbrauch_Aktuell_W
    device_class: power
    state_topic: vzlogger/data/chn2/raw    
    value_template: "{{ value_json.value | float | round(1) }}"
    unit_of_measurement: "W"

Jetzt übernimmt Homeassistant die Namen der Sensoren überhaupt nicht mehr in die Konfiguration :frowning: Es werden lediglich die “alten” Namen angeboten. Was ist denn da jetzt passiert?

So ganz verstehe ich deinen Fehler nicht. Kannst du mal bitte eine Fehlermeldung posten bzw. einen Auszug deiner configuration.yaml. Eigentlich hab ich nur den Code von dir genommen und entsprechend der Power angepasst.

Vor dem Reboot immer “Konfiguration prüfen” drücken :slight_smile:

VG

ich habe erwartet, dass die Sensor-Namen aus der config.yaml auch als Sensoren angeboten werden. Den Tip mit dem “Konfiguration Prüfen” habe ich tatsächlich beherzigt. Auch habe ich nach jeder Änderung entweder einen “Neustart” mit ausschließlich neuem Laden der yaml-Dateien gemacht - oder aber einen harten Neustart.
Leider finde ich im Homeassistant die Namen (z.B. name: “ZaehlerBezugWh”) nicht in den Sensoren.

Hier ist meine config.yaml (und ja - das ist die komplette :o ):

# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

# Sensoren für den Volkszähler
mqtt:
    - sensor:
        name: "ZaehlerBezugWh" #Name im frontend
        unique_id: sensor.ZaehlerBezugWh 
        device_class: energy
        state_topic: vzlogger/data/chn0/raw #1-0:1.8.0 (Stromzählerstand Bezug Eintarif)
        value_template: "{{ value_json.value | float | round(1) }}"
        unit_of_measurement: "Wh"
    - sensor:
        name: "ZaehlerLieferungWh" #Name im frontend
        unique_id: sensor.ZaehlerLieferungWh 
        device_class: energy
        state_topic: vzlogger/data/chn1/raw #1-0:2.8.0 (Stromzählerstand Einspeisung Eintarif)
        value_template: "{{ value_json.value | float | round(1) }}"
        unit_of_measurement: "Wh"
    - sensor:
        name: "VerbrauchAktuell"
        unique_id: sensor.VerbrauchAktuellWh
        device_class: power
        state_topic: vzlogger/data/chn2/raw #1-0:16.7.0 (Leistung (Momentan) - Zähler1 - Verbrauch)
        value_template: "{{ value_json.value | float | round(1) }}"
        unit_of_measurement: "W"
    - sensor:
        name: "Solaranlage aktuell" #Name im frontend
        unique_id: sensor.SolaranlageAktuellWh
        device_class: power
        state_topic: vzlogger/data/chn3/raw #1-0:2.8.0 (Leistung (Momentan) - Zähler2 - Solaranlage)
        value_template: "{{ value_json.value | float | round(1) }}"
        unit_of_measurement: "W"
    - sensor:
        name: "Lieferung aktuell" #Name im frontend
        unique_id: sensor.LieferungAktuellWh
        device_class: power
        state_topic: vzlogger/data/chn4/raw #1-0:16.7.0 (Leistung (Momentan) - Zähler1)
        value_template: "{{ value_json.value | float | round(1) }}"
        unit_of_measurement: "W"

Das sieht soweit erstmal ganz gut aus.

Hast du die Entwickler-Werkzeuge aktiviert? Dort solltest du den Sensor finden.

Beim Ende vom 2. Pfeil kannst du Filtern.

Wenn du die Entwickler Optionen nicht hast kannst du unter Deinem Benutzer diese aktivieren.

ja - habe ich…
Interessanterweise zeigt mir der Assistant das hier:


Anscheinend entfernt der die nicht mehr existierenden Zähler (aus den früheren Versuchen) nicht mehr. Kann ich das irgendwie bereinigen?

Du kannst auf das kleine “i” daneben klicken, dann oben auf das Zahnrad und dann sollte es eine Option zum löschen geben.

Danke - das hilft schonmal. Jetzt lösche ich die überflüssigen mal weg und schaue, was dann übrig bleibt.

Hallo zusammen,
darf ich mich hier mal einklinken. Mein Problem passt zwar nicht perfekt aber im Prinzip dennoch zur Überschrift "Volkszähler - MQTT - umrechnen.
Ich hab jetzt echt schon Stunden mit Recherche verbracht, finde aber nicht raus, woran es hakt:

Ich bekomm von meinem Stromzähler mit IR-Lesekopf via MQTT vom vzlogger die Rohdaten.

grafik

Die Entität “Stromzaehler_vzlogger” ist im Energiedashboard beim Netzverbrauch angegeben nd zeigt eigentlich “normale” Werte.

Das Dashboard zeigt mir aber ab und an Spitzen an, die es nicht gibt z.B. ca. 4 Uhr mit ~23kWh. Im Entitätsverlauf sind es korrekte ~2,2kW

grafik

Mit meinem Latein bin ich am Ende, wo das herkommen kann. Ich wäre überaus dankbar, vlt jemand einen neuen Ansatz für mich hätte… :innocent: