D0 Zähler SML auslesen mit Tasmota

  • So habe es irgendwie hinbekommen nach den mehrmaligen Neustart des wemos waren die Werte (readings) für Gas und Wasser im FHEM.


    So jetzt noch ein wenig Statistik Plots und Kostenberechnung.

  • Hallo,


    weiß jemand von euch, welchen Zähler ich auswählen muss für einen "eHZ Generation K von EMH metering"?

    Laut Datenblatt sendet er das SML Protokoll.


    Grund ist, dass ein Arbeitskollege gerne seinen Zähler auslesen will, aber er davon keine Ahnung hat und ich es Ihm vorbereiten will.


    Meine drei EHZ363 kann ich wunderbar seit Monaten auslesen ohne Probleme...


    EDIT Link hinzugefügt:

    eHZ Generation K


    EDIT 2:

    Hat sich erledigt. Der eHZ Gerneration K hat das gleiche Protokoll wie der EHZ363!

  • So! Erstmal besten Dank an GeMu für diese tolle Erweiterung.


    Nachdem ich mich nun in der letzten Woche durch einen Großteil der 25 Seiten hier gekämpft habe, habe ich allerdings noch eine paar fragen.


    Ist es irgendwie möglich, denn Verbrauch, also das was bereits auf der Wasseruhr ist, in Tasmota einzutragen, so dass man in Tasmota nicht von 0 anfängt und man immer den alten Wert hinzuaddieren muss.


    Selbiges gilt natürlich auch für den Gaszähler.


    Viele Grüße!

  • Regen Messer Impuls von Reedkontakt zu kurz.


    Ich will das Modul Wasser Gas Counter) zweckentfremden um den Niederschlag (Regen) mit einem Messer (wippe via Reedkontakt)

    Hardware funktioniert soweit.

    Aber leider ist der Puls via Reed zu kurz am RX Eingang das der Wemos nicht reagiert.

    (wippe ist zu schnell) (Test Handbetrieb langsam funktioniert)

    Kann man am Timing was ändern, wenn ja wo.

  • Neue Version von SML verfügbar.


    durch die Verfügbarkeit des Script Editors konnte ich die SML Definition in den Editor übernehmen. Damit kann man jetzt beliebige Zähler in den Scripteditor laden und braucht bei Änderungen keine Neukompilierung mehr. Dazu einfach den Scipteditor mit #undef USE_RULES und #define USE_SCRIPT

    einschalten und den Zähler in Sektion >M definieren. Im Anhang mal Beispieldefintionen für den Gas Wasser Stromzähler WGS_COMBO, EHZ161 und EHZ363

    nach dem Abspeichern des Scripts ist ein Neustart von Tasmota erforderlich.

    Wenn kein Script gefunden wird, wird wie bisher der im Source Code definierte Zähler verwendet.


    >D


    >M 3

    +1,1,c,0,10,H20

    +2,4,c,0,50,GAS

    +3,3,s,0,9600,SML


    -1,1-0:1.8.0*255(@10000,Zählerstand,cbm,Count,4|

    -2,=h==================|

    -2,1-0:1.8.0*255(@100,Zählerstand,cbm,Count,3|

    -3,77070100010800ff@1000,Verbrauch,KWh,Total_in,3|

    -3,=h==================|

    -3,77070100100700ff@1,Aktueller Verbrauch,W,Power_curr,2|

    -3,=h -------------------------------|

    -3,=m 10+11+12 @100,Ströme L1+L2+L3,A,Curr_summ,2|

    -3,=m 13+14+15/#3 @100,Spannung L1+L2+L3/3,V,Volt_avg,2|

    -3,=h==================|

    -3,77070100240700ff@1,Verbrauch P1,W,Power_p1,2|

    -3,77070100380700ff@1,Verbrauch P2,W,Power_p2,2|

    -3,770701004c0700ff@1,Verbrauch P3,W,Power_p3,2|

    -3,=h -------------------------------|

    -3,770701001f0700ff@100,Strom L1,A,Curr_p1,2|

    -3,77070100330700ff@100,Strom L2,A,Curr_p2,2|

    -3,77070100470700ff@100,Strom L3,A,Curr_p3,2|

    -3,=h -------------------------------|

    -3,77070100200700ff@100,Spannung L1,V,Volt_p1,2|

    -3,77070100340700ff@100,Spannung L2,V,Volt_p2,2|

    -3,77070100480700ff@100,Spannung L3,V,Volt_p3,2|

    -3,=h==================|

    -3,77070100000009ff@#,Service ID,,Meter_id,0|

    -3,=h--------------------------------

    #


    ;EHZ161

    >D


    >M 1

    +1,0,o,0,9600,OBIS


    -1,1-0:1.8.0*255(@1,Verbrauch,KWh,Total_in,4|

    -1,1-0:2.8.0*255(@1,Einspeisung,KWh,Total_out,4|

    -1,1-0:21.7.0*255(@1,Verbrauch P1,W,Power_p1,0|

    -1,1-0:41.7.0*255(@1,Verbrauch P2,W,Power_p2,0|

    -1,1-0:61.7.0*255(@1,Verbrauch P3,W,Power_p3,0|

    -1,=m 3+4+5 @1,Aktueller Verbrauch,W,Power_curr,0|

    -1,1-0:0.0.0*255(@#),Zähler Nr,,Meter_number,0

    #


    ;EHZ363

    >D


    >M 1

    +1,0,s,0,9600,SML


    -1,77070100010800ff@1000,Verbrauch,KWh,Total_in,4|

    -1,77070100020800ff@1000,Einspeisung,KWh,Total_out,4|

    -1,77070100100700ff@1,Aktueller Verbrauch,W,Power_curr,0|

    -1,77070100000009ff@#,Zähler Nr,,Meter_number,0

    #

  • genau die skalierung brauche ich.


    Ich gehe die Sache jetzt von der Hardware an baue ein Monoflop (mit NE555) um den Impuls zu verlängern.

    werde berichten.


    Trozdem würde ich gerne Wissen wiso der IRQ Mode bei mir nicht funzt??

  • Hallo Gemu, Danke danke für die tolle und viele Arbeit. Bei mir hat alles auf Anhieb geklappt.

    Ich bekomme ab und an größere Ausreise. Werde die Tage das Kabel kürzen und auch abschirmen. Trotzdem würde mich mal interessieren, was du damals mit dem Medianfilter gemeint hast bzw ich das bekomme.

    Bei mir läuft ein Sonoff mit 1K Widerstand auf einer TEKT5400S

  • @Gemu, danke für die Info, werde ich gleich mal testen.

    Hab noch eine andere Frage: Ich würde gerne die Funktion immediate MQTT verwendet. Weis aber nicht wie und wo ich diese freischalten.

    Danke für eure Unterstützung.

  • salve87


    zum letzen Parameter in jeder Zeile (decimal precision) musst du 16 dazuzählen damit der Wert sofort ausgegeben wird. (denk aber daran dass das unter Umständen einen hohen traffic erzeugen kann wenn der Zähler in kurzen Abständen Daten liefert)


    ansonsten werden die Werte bei teleperiod, also minimal alle 10 Sekunden übertragen.