D0 Zähler SML auslesen mit Tasmota

  • muelle4u

    Du könntest einige passende Codes für deinen Stromzähler hier in diesem Thread finden, hier, oder auch in der xns_53_sml.ino. Je nach dem wie du später vorhast es einzubinden, muss der Code jedoch noch u.U. angepasst werden auf die Script Version.

    Danke für den Hinweis, ich habe mir schon drei eigene bin Files mit der xnx_53_sml.ino erstellt und die in frage kommenden Zähler durch probiert, jedoch unterscheidet sich der EHZI meines Erachtens ein wenig Zähler EHZ I auf UDP weiter unten vermutlich die HEX Ausgabe von den anderen EHZ Zählern.

    Ich möchte es später in Domoticz verarbeiten. Ich würde mal mit MQTT ins rennen gehen, da ich bei einem meiner Versuche im Log gesehen habe das dieser schon fleißig Telegramme schickt oder liege ich da falsch ? . Ich bin aber für einen anderen /besseren Weg offen ?

    Danke

    Julian

  • Hallo muelle4u,

    ich habe einen eHZ-IW8E2A5L0EK2P. Im Prinzip habe ich den EHZH kopiert und die Rückspeisung entfernt, weil mein Zähler das nicht kennt und ich diese Daten auch nicht in meinem FHEM haben möchte. Die Einzelphasen-Leistung habe ich ausgetestet, mein Zähler liefert diese Daten aber entweder nicht so oder vielleicht auch gar nicht. Das ist mir aber nicht wichtig und ich habe nicht weiter geforscht.

    Also eigentlich ein pragmatischer Ansatz...

  • Hi!

    Ich brauche nochmal Hilfe bitte:

    MQTT für die Verbräuche, wie müssen die aussehen?

    Meierchen006 hatte schon mal ein Beispiel, aber das klappt nicht sauber:

    Beispiel:

    >J

    ,water_day:%w_d%

    ,water_month:%w_mn%

    ,water_year:%w_yn%

    So sieht's bei mir dann aus:

    Spoiler anzeigen

    19:40:49 MQT: tele/Energiezähler/SENSOR = {"Time":"2019-09-10T19:40:49","Strom":{"Total_in":21375.0134,"Power_curr":909,"Power_p1":421,"Power_p2":470,"Power_p3":19,"Meter_number":"1ESYxxx"},"Gas":{"Count":3855.01},"Wasser":{"Count":679.539},water_day:0.38,water_month:679.54,water_year:679.54}

    Problem ist, dass ich die Werte

    water_day:0.38,water_month:679.54,water_year:679.54}

    Nicht abgreifen kann. Sie tauchen einfach nicht beim MQTT Server auf.

    Wie müssen die Einträge konfiguriert werden?

    >J

    Habe ich im Script

    // -- WEB_Display zu MQTT--------------------------

    #define USE_SCRIPT_JSON_EXPORT

    In meiner Config

    Danke

  • Code
    >J
    ,"Tagesverbrauch_Strom":%pi_d%

    Möglicherweise liegt es an den Anführungszeichen.

  • Mal kurz etwas anderes was evtl. für alle Interessant sein könnte.

    Ich habe festgestellt, dass nicht alle meine Wemos D1 Minis in Kombination mit dem Fototransistor BPW78a am RX Pin funktionieren.

    Es gibt eine ältere Version die v2. und eine neuere die v3/v3.1.

    Laut Datenblatt besitzt die v2 je zwischen RX Pin und CH340C ein 470Ohm Widerstand. Der RX Pin ist direkt mit dem Eingang des ESP8266 verbunden. Das gleiche gilt auch für TX.

    Ich habe nachgemessen, dem ist auch so.

    Der CH340C liefert die 3,3 Volt über den 470Ohm Pullup Widerstand. Also im Prinzip so wie wir es auch bei den Countern machen.

    Bei der v3 ist dies nicht der Fall. Zwar sind auch hier RX und TX Pin direkt mit dem ESP8266 Chip verbunden allerdings ist zwischen CH340C und RX Pin kein Widerstand. Beim TX Pin und CH340C hingegen schon. Das ist auch dem Datenblatt zu entnehmen. Allerdings befindet sich auf meinem v3 Board zwischen TX Pin und CH340C ein 4.7k statt den 470 Ohm Widerstand des Datenblattes.

    Dadurch das also der CH340C RX Eingang direkt mit dem RX Eingang vom ESP8266 Chip und dem RX Pin verbunden ist, ist es meinen bisherigen Erkenntnissen nach, nicht möglich mit dem Fototransistor an RX bei V3 ein Signal zu übertragen.

    Ich habe mal ein paar Bilder angefügt.

    Die Datenblätter gibt es auf wemos.cc.

  • Moin zusammen,

    erstmal großes Lob an gemu2015 für diesen tollen Treiber und natürlich auch an den Rest der Community!

    Ich lese hier schon länger passiv mit und bin immer wieder erstaunt, wie schnell hier an den Lösungen gearbeitet wird.

    Hat jemand Erfahrung mit dem Treiber in Verbindung mit einem Modbus Zähler? Soll ja ohne weiteres möglich sein.

    Ich habe hier einen Janitza B23 den ich gerne per Modbus auslesen würde.

    Hier sind allerdings noch ein paar Fragen offen :

    - Wie oder wo muss ich die Register speziell für meinen Zähler anpassen

    - ist es über den Treiber auch möglich mehrere (min.2) Zähler auszulesen

    Leider habe ich hier im Beitrag nichts dergelichen gefunden....

  • Moin,

    ich habe mal eine wahrscheinlich ganz einfache Frage.

    Wo bestimme ich den Sendeintervall per MQTT? Das was ich gefunden haben

    MQTT - Telemetry ist wohl nicht das richtige zumindest bringt es keine Änderung.

    Stansart mäßig ist es ja bei 5min/300sek..

  • Moin,

    ich habe mal eine wahrscheinlich ganz einfache Frage.

    Wo bestimme ich den Sendeintervall per MQTT? Das was ich gefunden haben

    MQTT - Telemetry ist wohl nicht das richtige zumindest bringt es keine Änderung.

    Stansart mäßig ist es ja bei 5min/300sek..

    gib in der Konsole Teleperiod 10 für eine Sendeintervall aller 10 Sekunden ein.

  • Hallo muelle4u,

    ich habe einen eHZ-IW8E2A5L0EK2P. Im Prinzip habe ich den EHZH kopiert und die Rückspeisung entfernt, weil mein Zähler das nicht kennt und ich diese Daten auch nicht in meinem FHEM haben möchte. Die Einzelphasen-Leistung habe ich ausgetestet, mein Zähler liefert diese Daten aber entweder nicht so oder vielleicht auch gar nicht. Das ist mir aber nicht wichtig und ich habe nicht weiter geforscht.

    Also eigentlich ein pragmatischer Ansatz...

    Hallo danke für die Bereitstellung ich habe exakt den gleichen Zähler und werde das heute Abend mal so einspielen. Welche Hardware (Fototransistor und Anschluss am Wemos D1 = hast du verwendet ?

    sunburstc dein Beitrag #625 kann ich bestätigen. Ich habe ein Wemos D1 Mini Pro in Kombination mit einer BPW 40 habe mich was die Hardware angeht an diese Anleitung gehalten. Stromzähler mit wWemos D1 auslesen

    Es ist wenn man den OnBoard pull down/pull up verwendet wichtig zu prüfen ob man überhaupt einen hat und das die Leitungslänge nicht zu lange ist !!

    Ich kann mich dem Dank gemu2015 auch nur anschließen für die Bereitstellung des Treibers und der Implementierung in Tasmota !!!

  • Hallo Gemeinde,

    ihr habt es geschafft und mich angesteckt... Nun versuche ich meinen Stromzähler auch mit einen Sonoff per Tasmota auszulesen.

    Die Anleitung bzw. Hilfestellung hier im Forum dazu ist sehr gut. Jedoch bin ich programmiertechnisch nicht ganz so bewandert, wie viele hier.

    Ich habe folgende Konstellation:

    -Sonoff Basic mit Tasmota V6.6.0.11 zzgl. der xsns_95_sml.ino + LIB von gemu2015.

    -TEK5400S Sensor mit 1kOhm

    -Stromzähler "Iskra MT175" (Zweirichtungszähler)

    Als Vorlag habe ich den EHZ363 verwendet und entsprechend den Sonoff bespielt.

    Der Hardwareaufbau hat auf Anhieb funktioniert und es wurden folgende Daten angezeigt:

    -Zählerstand Verbrauch (wurde korrekt angezeigt)

    -Zählerstand Einspeisung (wurde korrekt angezeigt)

    -aktuelle Leistung (W) (wird falsch angezeigt und ist permanent null)

    -Zählernummer (wird korrekt angezeigt)

    Wie bekomme ich die aktuelle Leistung korrekt angezeigt, bzw. hat vielleicht einer schon ein passendes template für den MT175 Zähler?

    Zusätzlich möchte ich mir noch die Leistungen pro Phase anzeigen lassen.

    gemu2015 - verwies darauf das er über kurz oder lang auf script umsteigen möchte / muss.

    wo genau müsste ich dann script verwenden / eintragen? In der Konsole?

    Eine weitere Frage ist... für was genau benötige ich den vierstelligen PIN für den Stromzähler, welchen ich wo erfragen muss? (beim Netzbetreiber oder Hersteller)

    Einmal editiert, zuletzt von mac_switch (11. September 2019 um 13:03)

  • Hallo @URBANsUNITED

    mein Script nochmal das funktioniert sehr gut, bisher keine Probleme mehr, allerdings nicht für MQTT, dies kann man doch mit dem Tipp von #616

    Zitat

    Ansonsten kannst du bei der Definition deiner Zähler Dezimalstellen mit 16 addieren. Dann wird jede Änderung des Wertes direkt gepostet.

    Also wenn du 2 nachkommastellen hast gibst du statt 2 eine 18 ein.


    Mein Script:

  • Hallo mac_switch

    mit der xsns_95_sml.ino liegst du falsch die ist alt wird nicht mehr bearbeitet !

    Aus xsns_95_sml.ino wurde xsns_53_sml.ino bitte beachten

    Hast du deinen Zähler mit der PIN gibt es vom Energieversorger freigeschaltet? nur dann werden alle Daten die dein Zähler ausgeben kann auch angezeigt!

    Nur wenige Seiten zurück ist eine Erklärung wie Scripter verwendet wird.

    Auch Beitrag #536 + #537 + #538

    2 Mal editiert, zuletzt von meierchen006 (11. September 2019 um 13:42)

  • mac_switch Schau mal #616 an, da steht eigentlich alles für den Umstieg auf die neue Version beschrieben. Ansonsten, wie mein Vorredner schon sagte, ist die 95 die alter Version.

    Bzgl. deiner aktuellen Leistung, musst du mal schauen ob diese überhaupt übertragen wird und ob der übertragene String zu deiner Abfrage im Code passt. u.U. ist dieser ja für deinen Zähler anders.

    Wenn du in der Konsole:

    Code
    sensor53 d1

    Eintippst, bekommst dort in der Konsole das ausgegeben, was deine Diode/Fototransistor empfängt. Mit etwas Gedult, kannst du das dann den verschiedenen Strings aus dem Code zuordnen. Um diese ausgabe wieder auszuschalten, gibst du statt d1 ein sensor53 d0 ein.

    Die 1 steht übrigens für den Zähler. Solltest du also mehrere Zähler haben oder ihn nicht an erster Stelle deklariert haben, dann ist es entsprechend d2 oder d2... etc.

    blaumsass Auch dir der Tipp mit dem Beitrag #616. Vor allem der letzte Satz, wenn es schneller als 10sek gehen muss ;)!