Praxisnahe Tutorials, auf die du zählen kannst.
Einsteiger Guide für Home Assistant

SML Stromzähler mit Home Assistant auslesen (lokal) – PowerFox Alternative

Wenn auch du den Verbrauch deines SML Stromzählers in Home Assistant überwachen willst, dann bist du hier richtig!

Hier zeige ich dir, welche Hardware sich zum Auslesen der Zähler über Tasmota Smart Meter Interface & WLAN anbietet und wie man die MQTT-Daten der SML-Schnittstelle in Home Assistant nutzen kann.

Inhaltsverzeichnis

Voraussetzungen

Home Assistant muss bereits installiert sein, auf welcher Hardware spielt keine Rolle.

Benötigte Hardware (Lesekopf)

Hichi IR-WiFi mit Tasmota-SML

WIFI lesekopf lese-schreib-Kopf EHZ Volkszähler Hichi Smartmeter*
WIFI lesekopf lese-schreib-Kopf EHZ Volkszähler Hichi Smartmeter
 Preis nicht verfügbar Zu ebay!*
Preis inkl. MwSt., zzgl. Versandkosten
Zuletzt aktualisiert am 23.08.2023 um 19:52 . Wir weisen darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.

Leider ist der Obige Lesekopf aus dem Video ziemlich schlecht verfügbar, hier ein paar Alternativen:

Alternative 1:

Tasmota Wifi ESP01S Lesekopf für Stromzähler / Smart Meter*
Tasmota Wifi ESP01S Lesekopf für Stromzähler / Smart Meter
 Preis nicht verfügbar Zu ebay!*
Preis inkl. MwSt., zzgl. Versandkosten
Zuletzt aktualisiert am 11.09.2023 um 23:02 . Wir weisen darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.


Alternative 2

IR Schreib-Lesekopf | bitShake SmartMeterReader-Air | WLAN WiFi Lesekopf ESP32*
IR Schreib-Lesekopf | bitShake SmartMeterReader-Air | WLAN WiFi Lesekopf ESP32
 Preis: € 42,90 Zu ebay!*
Preis inkl. MwSt., zzgl. Versandkosten
Zuletzt aktualisiert am 13.07.2024 um 20:40 . Wir weisen darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.

Zugehöriges Video (Bitte unbedingt anschauen!)

Tasmota-SML Skritp einrichten

Anzupassen ist das Skript auf der Tasmota Weboberfläche unter Consoles -> Edit Script.

Wie gesagt, gehört (vermutlich) bei einigen von euch etwas Raten oder zumindest gutes Kombinieren dazu, um die Parameter für den Stromzähler herauszufinden.

Hier aber mal die Reihenfolge, in der ich euch eure Recherche empfehlen würde. Ohne beide Videos oben gesehen zu haben, wird euch das hier übrigens nicht weiterbringen 😉

  1. Gibt es auf der Tasmota-SML Seite schon ein fertiges Skript?
    • Wenn ja, ist das Skript auch für nur 1nen Lesekopf eingestellt (>M 1) und stimmen die Ports? (+1,3,X,X,XXX,XXXXXXX,1,XXX,XXXXXXXXXX,XXXXXXXXXX)
    • Wenn es trotzdem nicht geht oder nichts gefunden, weiter mit Schritt 2
  2. Sollte es ein ähnliches Skript geben, nehme am besten dieses als Vorlage und prüfe, ob im Volkszähler-Wiki dein Zählermodell bereits eingetragen wurde
    • Diese kannst du entweder über Google suchen (Zählername + Volkszähler Wiki) oder direkt auf der Doku-Seite.
    • Passe die Parameter entsprechend der Doku-Seite von Volkszähler an.
  3. Wenn die beiden obigen Punkte kein Ergebnis bringen, musst du dich leider durch Foren & die Anleitung deines Zählers kämpfen.

Konfiguration für meinen Zähler

ACE3000

Hier die Konfiguration des Itron Ace3000 Typ 260 zum Einlesen der Obis-Parameter bei den Schwiegereltern.

>D
>B
=>sensor53 r
>M 1

+1,3,o,0,300,ACE3000,1,100,2F3F210D0A,063035310D0A

1,1.8.0(@1,Total_in,KWh,Total_inZ1,4
1,2.8.0(@1,Total_out,KWh,Total_exZ1,4
1,C.1(@1,Zähler#,,Meter_number,0
#

Denke bitte daran, dass du bei deinem Zähler gegebenenfalls über die PIN zuerst den erweiterten Datensatz freischalten musst (Anruf beim Netzbetreiber reicht hier meisten aus). Wie die Eingabe der PIN erfolgt, steht in der Bedienungsanleitung.

SGM-C4-xxx2xx

Hier noch die Konfiguration meines Zählers(SML).

>D
>B
->sensor53 r
>M 1

+1,3,s,16,9600,ENERGY

1,77070100010800ff@1000,Total,kWh,Total,4

;for meters measuring feed-in SGM-Cx-xxx2xx
1,77070100020800ff@1000,Supply,kWh,Supply,4

;next 4 lines for double-tariff meters SGM-Cx-xxxxTx
;1,77070100010801ff@1000,Comsumption_t1,kWh,Total_t1,4
;1,77070100010802ff@1000,Comsumption_t2,kWh,Total_t2,4
;1,77070100020801ff@1000,Supply_t1,kWh,Supply_t1,4
;1,77070100020802ff@1000,Supply_t2,kWh,Supply_t2,4

;all commented lines from here on for 3-phase meter SGM-C4
1,77070100100700ff@1,Actual Power,W,Power,0
1,77070100200700ff@1,Voltage L1,V,Voltage,1
1,77070100340700ff@1,Voltage L2,V,Voltage_L2,1
1,77070100480700ff@1,Voltage L3,V,Voltage_L3,1
1,770701001f0700ff@1,Current L1,A,Current,2
1,77070100330700ff@1,Current L2,A,Current_L2,2
1,77070100470700ff@1,Current L3,A,Current_L3,2
1,77070100510701ff@1,Phaseangle L2-L1,deg,phase_angle_L2_L1,0
1,77070100510702ff@1,Phaseangle L3-L1,deg,phase_angle_L3_L1,0
1,77070100510704ff@1,Phaseangle I/U L1,deg,phase_angle_L1,1 
1,7707010051070fff@1,Phaseangle I/U L2,deg,phase_angle_L2,1  
1,7707010051071aff@1,Phaseangle I/U L3,deg,phase_angle_L3,1 
1,770701000e0700ff@1,Frequency,Hz,Freq,1

;all commented lines from here on just for completeness
;1,7707010000020000@1,Firmware Version,,FwVer,0
;1,77070100605a0201@1,Firmware Checksum,,FwCheck,0
;1,7707010061610000@1,Error Register,,ErrorReg,0
;1,7707010060320101@1,Hardware Version,,HwVer,0
;1,7707010060320104@1,Parameter Version,,ParamVer,0
1,77070100600100ff@#,Server-ID,,ID,0
;You can find your server-id printed on your meter. If you want you can also convert it to your Identifikationsnummer with some ASCII, DEC and HEX encoding. 0A-01-45-46-52-ST-UV-WX-YZ = 1EFR + string(S) + string(T) + hexToDec(UVWXYZ)
#

Sende-Intervall erhöhen

Um für Tasmota SML Werte öfter als alle 300 Sekunden per MQTT (an Home Assistant) zu senden, ist es erforderlich ein Kommando abzuschicken. Dazu öffnest du einfach die Web-Oberfläche vom Tasmota-SML Geräte, gehst auf Consoles -> Console und gibst TelePeriod 10 ein.

Was scheinbar auch funktionieren kann ist eine Erhöhung der Nachkomma-Stellen, damit sollte dann die Übertragung von Änderungen sofort erfolgen. Siehe hier

Template-Entitäten für Energie-Dashboard

Diese Entitäten müssen in der configuration.yaml angelegt werden. Diese speichern die kWh Werte des Tasmota-Lesekopfes in der korrekten Weise, damit diese dann zum Energiedashbaord hinzugefügt werden können.

Vergesse nicht, den sensor.tasmota... durch deine eigenen zu ersetzen.

template:
  - sensor:
    # Stromzähler Keller Verbrauch
      - name: "Stromzähler 1. & 2. OG Verbrauch"
        unique_id: "Stromz1u2OGVerbrauch"
        unit_of_measurement: 'kWh'
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.tasmota_ace3000_total_inz1')) | round(3) }}
  - sensor:
    # Stromzähler Keller Erzeugung
      - name: "Stromzähler 1. & 2. OG Erzeugung"
        unique_id: "Stromz1u2OGErzeugung"
        unit_of_measurement: 'kWh'
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.tasmota_ace3000_total_exz1')) | round(3) }}

Bitte natürlich wie in Home Assistant üblich beachten, dass der Abschnitt template: nur einmal in der Configuration.yaml vorkommen darf. Falls er schon existiert, einfach die -sensor: Abschnitte darunter ergänzen.

Was tun bei den USB-Leseköpfen von Hichi?

Für die USB-Leseköpfe müsste die EDL21 Integration von Home Assistant passen.

Falls das jemand bestätigen kann (hab selbst keinen USB-Lesekopf ohne WiFi), würde ich mich sehr freuen 🙏

Alternativen bei wenig Empfang oder Strom?

Metalltüren, keine Steckdosen im Zählerschrank und vieles mehr könnte bei dir ein Problemchen werden…

Eins vorweg: Powerbanks sind keine gute Idee, halten einfach nicht lange genug 😉

Aber du kannst alternativ den Lesekopf ohne ESP-Chip (ggf. mit vormontiertem Kabel) kaufen, das Kabel ggf. durch die Wand oder in Kabelkanälen führen und den ESP erst im nächsten Raum oder an geeigneter stelle mit den Kabeln des Lesekopfs verbinden.

So ist man zumindest etwas flexibler was die Wahl des Ortes vom ESP-Chip selbst angeht, aber eine Steckdose bzw. USB-Stecker benötigt man halt trotzdem 😉

Lesekopf mit Kabel: https://ebay.us/draLjR*
Lesekopf ohne Kabel: https://ebay.us/lisvQU*
ESP-Chip: https://ebay.us/dxyL5R*
Installation von Tasmota-SML auf dem ESP: https://youtu.be/s6qQs4FN9B0?si=pzMXdY9H2IFTpoz2&t=422

Nicht wunder, die Links verweisen auf die deutsche Ebay-Seite 🙂

Fazit

Und schon hast du deinen SML-Stromzähler komplett lokal mit einem Tasmota SML Lesekopf ausgelesen und kannst die Daten über MQTT in Home Assistant oder jedem beliebigen Smart Home System verwenden, einfach klasse 🙌

Wenn du Fragen oder Anmerkungen hast, zögere nicht, sie mir unten in den Kommentaren mitzuteilen und ich werde mein Bestes tun, um dir zu helfen. Vielen Dank fürs Zuschauen!

HomeKit Geräte Übersicht

smarte News

Erfahre als Erster, wenn wir neue Artikel zu Smart Home oder anderen interessanten Themen veröffentlichen!

Wir senden keinen Spam und verkaufen keine Daten! Erfahre mehr in unserer Datenschutzerklärung.

Transparenz: In diesem Artikel sind Partnerlinks enthalten. Durch einen Klick darauf ge­lan­gt ihr direkt zum Anbieter. Solltet ihr euch dort für einen Kauf entscheiden, erhalte ich ei­ne kleine Provision. Für euch ändert sich am Preis nichts & Partnerlinks haben keinerlei Einfluss auf meine Berichterstattung. Vielen Dank für deine Unterstützung!

Gründer von simon42. Schreibt hier ehrlich und leidenschaftlich über Smart Home und Technik Themen, denn das Zuhause wurde bereits von Sprachassistenten übernommen und die Kontrolle abgegeben 😁

Nennenswerte Antworten

  1. Moin liebe Leute,

    hat jemand eine Idee, wo ich mal forschen könnte, wenn mein Energie-Dashboard nach erfolgreicher Einbindung des Volkszählers nur alle 6 Stunden Werte liefert? :flushed:

    Und außerdem ist der Sprung im Verbrauch (blauer Balken) um 18:00 Uhr falsch (viel zu hoch; der Zähler selbst zeigt keinen so hohen Wert an). :thinking:

    Die beiden Sensoren für das Energie Dashbaord habe ich ganz analog wie im Video von @simon42 gezeigt definiert und eingebunden:

    - sensor:
      - name: "Stromzähler Verbrauch"
        unique_id: "StromVerbrauch"
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.iskra_mt631_mt631_total_in')) | round(3) }}
        
      - name: "Stromzähler Erzeugung"
        unique_id: "StromErzeugung"
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.iskra_mt631_mt631_total_out')) | round(3) }}
    

    In der Tasmota Integration kommen die Zahlen des Zählers gut an (bis auf die aktuelle Leistung “Power_curr”):

    (Meine Hardware ist ein Seeed Xiao ESP32C3 Board, was per WiFi im heimischen LAN ist. Rx und Tx Drähte habe ich an dessen Pins 20 und 21 angelötet.)

    Mein Skript für meinen ISKRA MT631 Zähler sieht so aus:

    >D
    >B
    =>sensor53 r
    >M 1
    +1,20,s,0,9600,MT631,21,10,2F3F210D0A
    1,77070100010800ff@1000,Total Consumed,kWh,Total_in,4
    1,77070100020800ff@1000,Total Delivered,kWh,Total_out,4
    1,77070100100700ff@1,Current Consumption,W,Power_cur,4
    #
    

    Laut Tasmota Console werden alle 5 Minuten Daten ausgelesen:

    09:10:45.973 MQT: tele/tasmota_F0E2D0/SENSOR = {"Time":"2023-11-15T09:10:45","MT631":{"Total_in":1264.0000,"Total_out":1445.0000,"Power_cur":0.0000}}
    09:15:45.956 MQT: tele/tasmota_F0E2D0/STATE = {"Time":"2023-11-15T09:15:45","Uptime":"2T12:40:17","UptimeSec":218417,"Heap":179,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"Berry":{"HeapUsed":4,"Objects":46},"Wifi":{"AP":1,"SSId":"StefNet","BSSId":"xx:xx:xx:xx:xx:xx","Channel":6,"Mode":"11n","RSSI":100,"Signal":-40,"LinkCount":2,"Downtime":"0T00:00:05"}}
    09:15:45.964 MQT: tele/tasmota_F0E2D0/SENSOR = {"Time":"2023-11-15T09:15:45","MT631":{"Total_in":1264.0000,"Total_out":1445.0000,"Power_cur":0.0000}}
    09:20:45.931 MQT: tele/tasmota_F0E2D0/STATE = {"Time":"2023-11-15T09:20:45","Uptime":"2T12:45:17","UptimeSec":218717,"Heap":179,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"Berry":{"HeapUsed":4,"Objects":46},"Wifi":{"AP":1,"SSId":"StefNet","BSSId":"xx:xx:xx:xx:xx:xx","Channel":6,"Mode":"11n","RSSI":100,"Signal":-40,"LinkCount":2,"Downtime":"0T00:00:05"}}
    09:20:45.939 MQT: tele/tasmota_F0E2D0/SENSOR = {"Time":"2023-11-15T09:20:45","MT631":{"Total_in":1264.0000,"Total_out":1445.0000,"Power_cur":0.0000}}
    09:25:45.940 MQT: tele/tasmota_F0E2D0/STATE = {"Time":"2023-11-15T09:25:45","Uptime":"2T12:50:17","UptimeSec":219017,"Heap":179,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"Berry":{"HeapUsed":4,"Objects":46},"Wifi":{"AP":1,"SSId":"StefNet","BSSId":"xx:xx:xx:xx:xx:xx","Channel":6,"Mode":"11n","RSSI":100,"Signal":-39,"LinkCount":2,"Downtime":"0T00:00:05"}}
    09:25:45.947 MQT: tele/tasmota_F0E2D0/SENSOR = {"Time":"2023-11-15T09:25:45","MT631":{"Total_in":1264.0000,"Total_out":1445.0000,"Power_cur":0.0000}}
    09:30:45.960 MQT: tele/tasmota_F0E2D0/STATE = {"Time":"2023-11-15T09:30:45","Uptime":"2T12:55:17","UptimeSec":219317,"Heap":178,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"Berry":{"HeapUsed":4,"Objects":46},"Wifi":{"AP":1,"SSId":"StefNet","BSSId":"xx:xx:xx:xx:xx:xx","Channel":6,"Mode":"11n","RSSI":100,"Signal":-39,"LinkCount":2,"Downtime":"0T00:00:05"}}
    09:30:45.967 MQT: tele/tasmota_F0E2D0/SENSOR = {"Time":"2023-11-15T09:30:45","MT631":{"Total_in":1264.0000,"Total_out":1445.0000,"Power_cur":0.0000}}
    09:35:45.963 MQT: tele/tasmota_F0E2D0/STATE = {"Time":"2023-11-15T09:35:45","Uptime":"2T13:00:17","UptimeSec":219617,"Heap":178,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"Berry":{"HeapUsed":4,"Objects":46},"Wifi":{"AP":1,"SSId":"StefNet","BSSId":"xx:xx:xx:xx:xx:xx","Channel":6,"Mode":"11n","RSSI":100,"Signal":-39,"LinkCount":2,"Downtime":"0T00:00:05"}}
    09:35:45.970 MQT: tele/tasmota_F0E2D0/SENSOR = {"Time":"2023-11-15T09:35:45","MT631":{"Total_in":1264.0000,"Total_out":1445.0000,"Power_cur":0.0000}}
    09:40:45.929 MQT: tele/tasmota_F0E2D0/STATE = {"Time":"2023-11-15T09:40:45","Uptime":"2T13:05:17","UptimeSec":219917,"Heap":178,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"Berry":{"HeapUsed":4,"Objects":46},"Wifi":{"AP":1,"SSId":"StefNet","BSSId":"xx:xx:xx:xx:xx:xx","Channel":6,"Mode":"11n","RSSI":100,"Signal":-39,"LinkCount":2,"Downtime":"0T00:00:05"}}
    09:40:45.937 MQT: tele/tasmota_F0E2D0/SENSOR = {"Time":"2023-11-15T09:40:45","MT631":{"Total_in":1264.0000,"Total_out":1445.0000,"Power_cur":0.0000}}
    09:45:45.943 MQT: tele/tasmota_F0E2D0/STATE = {"Time":"2023-11-15T09:45:45","Uptime":"2T13:10:17","UptimeSec":220217,"Heap":178,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"Berry":{"HeapUsed":4,"Objects":46},"Wifi":{"AP":1,"SSId":"StefNet","BSSId":"xx:xx:xx:xx:xx:xx","Channel":6,"Mode":"11n","RSSI":100,"Signal":-39,"LinkCount":2,"Downtime":"0T00:00:05"}}
    09:45:45.951 MQT: tele/tasmota_F0E2D0/SENSOR = {"Time":"2023-11-15T09:45:45","MT631":{"Total_in":1264.0000,"Total_out":1445.0000,"Power_cur":0.0000}}
    09:50:45.959 MQT: tele/tasmota_F0E2D0/STATE = {"Time":"2023-11-15T09:50:45","Uptime":"2T13:15:17","UptimeSec":220517,"Heap":178,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"Berry":{"HeapUsed":4,"Objects":46},"Wifi":{"AP":1,"SSId":"StefNet","BSSId":"xx:xx:xx:xx:xx:xx","Channel":6,"Mode":"11n","RSSI":100,"Signal":-39,"LinkCount":2,"Downtime":"0T00:00:05"}}
    09:50:45.967 MQT: tele/tasmota_F0E2D0/SENSOR = {"Time":"2023-11-15T09:50:45","MT631":{"Total_in":1264.0000,"Total_out":1445.0000,"Power_cur":0.0000}}
    09:55:45.950 MQT: tele/tasmota_F0E2D0/STATE = {"Time":"2023-11-15T09:55:45","Uptime":"2T13:20:17","UptimeSec":220817,"Heap":178,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"Berry":{"HeapUsed":4,"Objects":46},"Wifi":{"AP":1,"SSId":"StefNet","BSSId":"xx:xx:xx:xx:xx:xx","Channel":6,"Mode":"11n","RSSI":100,"Signal":-39,"LinkCount":2,"Downtime":"0T00:00:05"}}
    09:55:45.958 MQT: tele/tasmota_F0E2D0/SENSOR = {"Time":"2023-11-15T09:55:45","MT631":{"Total_in":1264.0000,"Total_out":1445.0000,"Power_cur":0.0000}}
    10:00:45.942 MQT: tele/tasmota_F0E2D0/STATE = {"Time":"2023-11-15T10:00:45","Uptime":"2T13:25:17","UptimeSec":221117,"Heap":178,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"Berry":{"HeapUsed":4,"Objects":46},"Wifi":{"AP":1,"SSId":"StefNet","BSSId":"xx:xx:xx:xx:xx:xx","Channel":6,"Mode":"11n","RSSI":100,"Signal":-39,"LinkCount":2,"Downtime":"0T00:00:05"}}
    10:00:45.952 MQT: tele/tasmota_F0E2D0/SENSOR = {"Time":"2023-11-15T10:00:45","MT631":{"Total_in":1264.0000,"Total_out":1445.0000,"Power_cur":0.0000}}
    10:05:45.946 MQT: tele/tasmota_F0E2D0/STATE = {"Time":"2023-11-15T10:05:45","Uptime":"2T13:30:17","UptimeSec":221417,"Heap":178,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"Berry":{"HeapUsed":4,"Objects":46},"Wifi":{"AP":1,"SSId":"StefNet","BSSId":"xx:xx:xx:xx:xx:xx","Channel":6,"Mode":"11n","RSSI":100,"Signal":-39,"LinkCount":2,"Downtime":"0T00:00:05"}}
    10:05:45.954 MQT: tele/tasmota_F0E2D0/SENSOR = {"Time":"2023-11-15T10:05:45","MT631":{"Total_in":1264.0000,"Total_out":1445.0000,"Power_cur":0.0000}}
    

    Scheinbar spuckt der Zähler leider aber auch nur ganze kWh aus, die Nachkommastellen sind immer .0000. :disappointed: Da bräuchte ich also auch keine 4 …

    Interessanterweise kommt in Home Assistant aber im MQTT/Mosquitto nichts davon an. Es gibt nicht mal ein neues Gerät. Die MQTT Konfiguration in Tasmota habe ich aber schon mehrfach überprüft, die müsste stimmen (IP, Port, Username, Passwort) … :thinking:
    Aber im ganzen Prozess kommt MQTT ja eigentlich auch gar nicht vor, oder? Die Template Sensoren, die im Energie-Dashboard landen, gehen ja direkt auf die Werte, die von der Tasmota Integration ausgespuckt werden. Wofür eigentlich MQTT? :flushed:

    Irgendwelche Ideen? Das wäre schon schön, wenn ich da mal mehr Daten rein bekäme, als nur alle 6h … :man_shrugging:

    Ganz lieben Dank fürs Mitdenken!
    Stefan.

  2. Hatte ich auch ich musste beim Stromzähler im Menü den punkt “Info” auf On stellen und dann hatte ich die kommastellen. Habe aber ein anderen Stromzähler.

    LG

  3. oh das habe ich bei überfliegen deines Beitrags wohl überflogen :sweat_smile:

  4. Naja, sooo falsch kann das alles ja nicht sein, denn es kommen ja Daten an. Die GPIOs sind ja frei wählbar, auch 20 und 21 sollten gehen, ich habe in den Specs keine Einschränkungen gefunden, dass ausgerechnet diese Pins hier nicht verwendet werden dürfen. Die Tatsache, dass an ihnen in der Grafik (die ich gut kenne) auch TX und RX steht, heißt ja nicht, dass diese nur “zum Programmieren” wären. Es sind doch Pins, die man generell für alles nutzen kann, oder nicht? Aber kann ich natürlich umlöten …

    Und wenn Du für RX “3” vorschlägst, meinst Du dann GPIO3 = A1 = D1? Oder meinst Du D3 = A3 = GPIO5?

    Und warum sollte man TX nicht brauchen? Ich will ja nicht nur Daten auslesen, sondern muss der optischen Schnittstelle auch diesen Init-String schicken, der aus den Zeichen /?! und dann ein CR und ein LF besteht – oder nicht?

    Yup, keine Zahlendreher in der Tasmote MQTT Config. Passwort auch mehrfach geprüft.

    Telemetrieperiode habe ich mal auf 180 gestellt und im Script die 16 bei current power eingetragen. :white_check_mark:

    In der Tat versorge ich den Volkszähler mit 3.3V vom ESP32 Board. Wenn der auch 5V verträgt, kann ich das natürlich auch umlöten … Tut er das denn? Will ich nicht zerstören … Das Netzteil, über das das Xiao Board versorgt wird, kann max. 2A liefern, das sollte also reichen.

    HOPPLA! Obwohl ich dachte, dass ich eigentlich INFO auf ON und PIN auf OFF gestellt hatte, war das genau andersherum! :man_facepalming: (Vermutlich passiert, weil neulich die ganze Anlage nochmal stromlos gemacht wurde, als der Smartmeter eingebaut wurde. :man_shrugging:)

    Na, was soll ich sagen: und SCHON kommen Nachkommastellen und current power an! :tada::champagne::partying_face::dancer::man_dancing:

    Da würde ich doch mal sagen, dass die GPIO Pins 20 und 21 gut funktionieren, oder?

    Allerdings sehe ich im HA Logbuch von current power leider so doofe “Fehlwerte”:

    Das ist natürlich blöd. Hast Du da vielleicht auch eine Idee, @Omega13? :flushed:

    Ich beobachte jetzt mal, ob nun (wo INFO auf ON ist) im Energie Dashboard häufiger als nur alle 6h Daten ankommen …

    Vielen lieben Dank für alle Mitdenker und Tipp-/Hinweis-Geber!! :+1::+1: :pray: Ihr seid Spitze! :hugs:

  5. Ja, von dem Link hatte ich mein Skript auch her, hatte dann aber einfach noch den TX Pin und die Sequenz mit drangehangen. – Ich probier’s mal ohne aus! :wink:

    Okay, das mit den Umlauten ist ja ein Ding! Aber das ä bei Stromzähler war der einzige Umlaut, den ich jetzt gefunden habe. Hab ihn zu “ae” geändert und leider gibt’s in Mosquitto immer noch kein neues Gerät.

    Verdächtig finde ich weiterhin, dass die Werte, die ich beim Tasmota Gerät angezeigt bekomme, keine Einheiten haben, obwohl diese ja im Skript hinterlegt sind. Das hat auch zur Folge, dass in der HA History für diese Werte kein Diagramm angezeigt wird, sondern nur ein (sehr bunter?!) Balken:

    Woran liegt das wohl? Oder soll das so sein und erst in MQTT wären dann die richtigen Einheiten dabei (wo die Daten ja noch nicht ankommen)?

    Auch im Energie-Dashboard sehe ich ja nur Balken mit dem Gesamt (aufsummierten) kWh Wert. Erwartet hätte ich, dass ich pro Stunde eines Tages dort auch dann nur den Verbrauch in dieser Stunde sehe … Das liegt bestimmt daran, dass ich meine beiden Template-Sensoren auf den Werten der Tasmota-Integration nehmen (wo sie eben noch ohne Einheit ankommen). Vermutlich sollten bei diesen beiden Template-Sensoren aber die Werte MIT Einheit aus MQTT genommen werden? Naja, solange sie da bei mir noch nicht ankommen, kann ich sie auch nicht für die Template-Sensoren nehmen. :disappointed: Also erstmal klären, warum sie nicht in MQTT ankommen … :thinking:

Setze die Diskussion fort unter community.simon42.com

16 mehr antworten

Teilnehmer

Avatar for system Avatar for Thalion Avatar for enspiro Avatar for BA2000 Avatar for szander Avatar for KlausV Avatar for metawops Avatar for totow Avatar for noschvie

30 Gedanken zu „SML Stromzähler mit Home Assistant auslesen (lokal) – PowerFox Alternative“

  1. Hallo Simon,

    ich bekomme die Werte meines Stromzählers erfolgreich jetzt in Home Assistant eingespielt. Nur habe ich das Problem, dass in unregelmäßigen Abständen Utopische Werte kurz eingespielt werden. Wie z.B. 800.000 kWh. Und das dann natürlich komplett meine Übersicht zerschießt. Hast du eine Möglichkeit, diese Werte -z.B. höher als 20.000W- nicht erfassen zu lassen?

    LG
    Torsten

  2. Hallo Simon,

    ich möchte von iobroker zu HA umziehen und gerne den Hichi IR Kopf mit USB weiternutzen. Wäre das möglich und wie könnte ich vorgehen. Im Netz kam ich nicht so recht weiter.

    Ich nutze Pi400, HA läuft u.a. dank Deiner Videos.

    Danke und Gruß,
    Stefan

  3. Hi Simon,

    ich habe als newbie deine Infos exakt befolgt und bin fast am Ziel… Der tasmota Kopf liefert mir die Werte für Verbrauch und Erzeugung! Aber ich komme nicht weiter in HA zum Einlesen dieser Werte, Meldung “Entität nicht verfügbar
    Der Status dieser konfigurierten Entitäten ist derzeit nicht verfügbar:

    • sensor.counter_pos (unavailable)”

    hier meine zähler konfig:

    >D
    >B
    ->sensor53 r
    >M 1
    +1,3,s,0,9600,Main,1,10
    1,77070100010800FF@1000,Total Consumed,kWh,counter_pos,3
    1,77070100020800FF@1000,Total Feed,kWh,counter_neg,3
    1,77070100100700FF@1,Power,W,power,0
    #
    
    
    

    und hier die config.yaml

    template:
      - sensor:
        # Stromzähler Verbrauch
          - name: "Stromzähler Verbrauch"
            unique_id: "StromVerbrauch"
            unit_of_measurement: 'kWh'
            device_class: "energy"
            state_class: "total_increasing"
            state: >-
                {{ float(states('sensor.tasmota_main_counter_pos')) | round(3) }}
      - sensor:
        # Stromzähler Erzeugung
          - name: "Stromzähler Erzeugung"
            unique_id: "StromErzeugung"
            unit_of_measurement: 'kWh'
            device_class: "energy"
            state_class: "total_increasing"
            state: >-
                {{ float(states('sensor.tasmota_main_counter_neg')) | round(3) }}
    
    
    

    was mache ich falsch??

    LG
    Micha

    • …sorry, ein Tippfehler im Passwort für den mqtt. bitte löschen, danke. PS: super vielen Dank für deine ganzen Infos… ich wäre lost ohne sie…

  4. Hallo Simon,
    bis zum Auslesen der Zählerdaten in Tasmota bin ich für meinen Zähler gekommen. Kannst du bitte die Integration in Home Assistant etwas genauer beschreiben? Wie integriere ich Tasmota in Home Assistant? Danke Michael

Kommentare sind geschlossen.

Send this to a friend