Beiträge von Muellmann

    muelle4u


    ich habe einen BTW40 E auf Masse, C mit 1k auf +3V3 (von einem Steckernetzteil mit 100uF nahe am ESP gepuffert). Den C habe ich an den Rx-Pin des ESP-01
    angehängt. Das Kabel zum Sensor/Zähler ist ca. 2m lang und ungeschirmt.


    Das funktioniert super, solange der ESP-01 außerhalb des Zählerkastens ist. Ich habe ihn an den ganzen Kabelstrang der oben aus dem Kasten kommt einfach mit einem Bindfaden drangehängt.

    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...

    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.

    das hat es tatsächlich gebracht! Nun sendet der ESP die aktuellen Messwerte zyklisch per MQT an FHEM.


    (Ich werde unabhängig davon trotzdem noch nach der Bedeutung von RSL forschen und meine Erkenntnisse hier posten.)


    Vielen Dank für die Hilfe!

    Hallo Leute,


    ich habe vorhin nochmal die universal7 ausgecheckt und dort in der user_config_override.h nur minimale Anpassungen an den mqtt-Server gemacht. Die xsns_53_sml.ino ist an meinen Zähler angepasst.

    Unmittelbar nach dem Programmieren, noch im Programmieradapter kommen die Sensordaten als MQT.

    Super! Habe mich gefreut und die Platine in den Keller geräumt. Ordentliche Netzwerkverbindung und der Zähler wird gelesen. Allerdings werden die Sensordaten wieder als RSL in der Konsole angezeigt und nicht versendet.


    nach einigem Hin- und Her-Probieren, meine Beobachtungen:

    Sensor im abgesteckt und ESP neu gestartet -> Sensordaten werden erwartungsgemäß nicht gemessen, aber mit MQT versandt

    Sensor an laufenden ESP wieder angesteckt -> Sensordaten werden wieder gemessen, aber keine MQT mehr!

    Sensor wieder abgesteckt, ESP läuf weiter -> Sensordaten bleiben auf letztem Messwert stehen, immer noch RSL


    Kann mir jemand dieses Verhalten erklären? Ist das Absicht?

    Was bedeutet RSL in der Konsole?

    Kann ich das MQT irgendwie erzwingen?


    Gruß, Rainer

    Hallo sunburstc


    ich hatte vor ca. 1 Jahr mal mehrere Billig-China-Steckdosen auf Tasmota 6.1.1 umgerüstet (für die Verwendung mit FHEM) und die dort verwendeten Anpassungen für STA_SSIDx, STA_PASSx und MQTT_HOST in die my_user_config.h des Forks von gemu_2015 gemerged. Außerdem habe ich noch die #defines einiger dort eingeschalteten Sensoren auskommentiert, weil ich einen schlankeren Code haben wollte.

    Damit der Stromzähler überhaupt ausgelesen wird, habe ich zudem eine Zeile mit #define USE_SML_M 9600 hinzugefügt und mir einen eigenen Abschnitt #if METER==EHZI für meinen Zähler zusammengebastelt (für universal6 in xsns_95_sml.ino und für universal7 in xsns_53_sml.ino).

    Das ganze habe ich dann mit der Arduino-IDE in einen ESP-01 geflasht, den Sensor angesteckt und gewartet bis Daten in der Konsole und im FHEM ankommen...


    Zusammengefasst: Konfiguration im Code und kein Scripting

    ...und wenn ich "teleperiod 10" in der Konsole eingebe, werden die RSL: /sonoff-SML/tele/SENSOR eben jede 10s versandt.


    Heute Abend werde ich das Ganze nochmal neu aufsetzen und die Konfiguration nach user_config_override.h verlagern (Das macht das Austesten verschiedener Commits deutlich einfacher). Dort werde ich dann auch nur die unbedingt für meine Anwendung notwendige Konfiguration vornehmen und erst wenn das läuft, weitere Experimente machen.


    Danke erstmal, ich melde mich wieder.

    Ich bin total begeistert, dass ich meinen Strom-Zählerstand auslesen kann und auch die richtigen Werte auf der Weboberfläche angezeigt bekomme.


    Leider kriege ich die Daten aber nicht per MQTT an FHEM versendet.

    Die Datensätze, die in der Tasmota-Konsole mit "MQT" angezeigt werden, sehe ich im FHEM, die mit "RSL" sehe ich nicht.

    Wenn ich am Raspberry mit dem mosqitto logge (pi@FHEMpi:~ $ mosquitto_sub -d -v -t \#), sehe ich auch nur die Datensätze, die in der Konsole mit "MQT" markiert sind. Ich vermute, dass die RSLs nicht versendet werden, oder beim Empfang aussortiert werden.


    Die Beispiele der Werte, die hier im Thread gezeigt wurden, zeigen alle "MQT: /sonoff-SML/tele/SENSOR =..."

    Ich habe verschiedene commits aus universal6 und universal7 ausprobiert, alle mit dem gleichen Ergebnis. Es muss also an meiner Konfiguration liegen...


    Kann mir jemand weiterhelfen und weiß durch welches Setting dieses Verhalten verursacht wird?


    00:00:00 CFG: aus Flash geladen am F9, zählen 40

    00:00:00 Projekt sonoff-SML Sonoff-SML Version 6.6.0.10(sonoff)-2_5_2

    00:00:00 SNS: Hardware Serial

    00:00:00 WIF: verbinden mit AP1 Funknetz in Modus 11N als sonoff-SML-3408...

    00:00:04 WIF: verbunden

    00:00:04 HTP: Web-Server aktiv bei sonoff-SML-3408 mit IP-Adresse 192.168.178.87

    20:28:15 MQT: Verbindungsversuch...

    20:28:15 MQT: verbunden

    20:28:15 MQT: /sonoff-SML/tele/LWT = Online (beibehalten)

    20:28:15 MQT: /sonoff-SML/cmnd/POWER =

    20:28:15 RSL: /sonoff-SML/tele/INFO1 = {"Module":"Generic","Version":"6.6.0.10(sonoff)","FallbackTopic":"cmnd/DVES_184D50_fb/","GroupTopic":"sonoffs"}

    20:28:15 MQT: /sonoff-SML/tele/INFO2 = {"WebServerMode":"Admin","Hostname":"sonoff-SML-3408","IPAddress":"192.168.178.87"}

    20:28:15 MQT: /sonoff-SML/tele/INFO3 = {"RestartReason":"Power on"}

    20:34:34 RSL: /sonoff-SML/tele/STATE = {"Time":"2019-09-08T20:34:34","Uptime":"0T00:06:25","UptimeSec":385,"Heap":23,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"Wifi":{"AP":1,"SSId":"xxx","BSSId":"ff:ff:ff:ff:C1:9B","Channel":11,"RSSI":46,"LinkCount":1,"Downtime":"0T00:00:04"}}

    20:34:34 RSL: /sonoff-SML/tele/SENSOR = {"Time":"2019-09-08T20:34:34","SML":{"Total_in":18642.2997,"Power_curr":331,"Meter_number":"06454xxxxxxxxx"}}