Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Microcontroller
    5. Sonoff-Adapter: Tasmota Stromzähler spinnt

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Sonoff-Adapter: Tasmota Stromzähler spinnt

    This topic has been deleted. Only users with topic management privileges can see it.
    • BananaJoe
      BananaJoe Most Active @MartinP last edited by

      @martinp Hast du auch MQTT im Einsatz? Dann könntest du den Tasmota dahin senden lassen, musst das ganze dann halt nur selbst auswerten (was für einen Impuls nicht so wild sein wird).

      MartinP 1 Reply Last reply Reply Quote 0
      • MartinP
        MartinP @BananaJoe last edited by

        @bananajoe Mit dem MQTT Client/Server Adapter habe ich teilweise ähnliche Probleme... Da müsste ich mich auch um das Auseinanderfummeln der JSON-Verpackung der Zählerwerte selber kümmern ..

        Was ist von einer zwischengeschalteten Mosquitto Instanz zu halten?

        BananaJoe 2 Replies Last reply Reply Quote 0
        • BananaJoe
          BananaJoe Most Active @MartinP last edited by BananaJoe

          @martinp sagte in Sonoff-Adapter: Tasmota Stromzähler spinnt:

          Was ist von einer zwischengeschalteten Mosquitto Instanz zu halten?

          Ich persönlich ganz viel. Ich habe da alles drüber laufen (Shelly, Tasmota und alles andere)
          Der Mosquitto ist unheimlich Leistungsfähig, der kann tausende von Geräten gleichzeitig bedienen, dann den MQTT-Broker/Client im Client-Modus damit verbinden.
          Da geht nicht verloren, wenn der Adapter ein paar Millisekunden später reagiert ist das dann egal.

          In Tasmota kann man einstellen wie er die MQTT-Daten sendet, wenn man stateretain 1 setzt erhält der Client die Info auch wenn er mal kurz offline war.

          1 Reply Last reply Reply Quote 0
          • BananaJoe
            BananaJoe Most Active @MartinP last edited by

            @martinp wenn du die Daten hast die der Stromzähler sendet, die müssten unterhalb mqtt.0.tele.xxxx landen, poste was der Datenpunkt da ausspuckt (SENSOR?), das auseinandernehmen ist nicht weiter schwierig

            MartinP 1 Reply Last reply Reply Quote 0
            • MartinP
              MartinP @BananaJoe last edited by

              @bananajoe Ich werde dann wohl eher "Nägel mit Köpfen" machen, und mich mit Mosquitto beschäftigen, da ich wie gesagt auch mit dem MQTT Broker/Client schon ähnliche Probleme hatte.
              Nutzt man Mosquitto da eher als "Rangierbahnhof" für komplette Topics, oder wird darin z. B. JSON auseinandergepflückt und umgebaut und neu in MQTT Topics verpackt?

              BananaJoe 1 Reply Last reply Reply Quote 0
              • BananaJoe
                BananaJoe Most Active @MartinP last edited by

                @martinp als Rangierbahnhof. Besser: Als Nachrichtenzentrale. Jeder kann da alles ablegen, und über alles Informiert werden was einen Interessiert.

                Den MQTT Broker/Client als Client kann ich aber in Verbindung mit dem Mosquitto empfehlen, läuft bei mir ganz wunderbar, bei 162 aktiven Clients:
                06eaabd8-dc79-446b-8027-14e97b0d9f47-image.png

                MartinP 1 Reply Last reply Reply Quote 0
                • MartinP
                  MartinP @BananaJoe last edited by

                  @bananajoe Habe gerade gesehen, dass mein Zigbee2MQTT Docker-Stack auch bereits einen Mosquitto-Docker-Container hat ... könnte man ggfs. den verwenden?

                  275a73f4-bb05-4e1e-8360-40c7f1127215-grafik.png

                  BananaJoe 1 Reply Last reply Reply Quote 0
                  • BananaJoe
                    BananaJoe Most Active @MartinP last edited by

                    @martinp müsste gehen. Kannst ja mal testen ob du dich mit dem ioBroker verbinden kannst per MQTT Broker/Client Adapter

                    MartinP 1 Reply Last reply Reply Quote 0
                    • MartinP
                      MartinP @BananaJoe last edited by

                      @bananajoe Habe gestern mal probiert, konnte mit dem MQTT Explorer topics anlegen, und der Broker/Client hat auch zugefasst ...

                      Muss man wirklich die Topics, die eine MQTT-Hardware als Eingangsgröße braucht VON HAND in Mosquitto eintragen (z. B. die Switches einer Schaltsteckdose, oder den Sollwert eines Thermostaten) Oder zieht sich das von alleine gerade?

                      BananaJoe 1 Reply Last reply Reply Quote 0
                      • BananaJoe
                        BananaJoe Most Active @MartinP last edited by

                        @martinp Du musst da gar nichts eintragen.
                        In den Topics erscheint alles automatisch was gesendet wird,
                        Tasmota legt einige wenige eingehende an, z.B. cmnd/Gerätename/POWER,
                        die restlichen würde man bei Bedarf erzeugen (für Befehle senden!), unter cmnd/Gerätename/xxx kann man jedes Tasmota Command senden.
                        Das brauchst du hier aber ja gar nicht.

                        Der MQTT-Broker/Client als Client abonniert per Default alles und legt für alles was kommt einen entsprechenden Datenpunkt an.

                        Die MQTT-Hardware sollte von sich aus alles anlegen was es braucht. Tasmota nutzt per Default die Topics stat, cmnd und tele. Man könnte da noch eigene anlegen, das braucht es aber gar nicht.
                        In den MQTT Einstellungen auf Tasmota sollte der MQTT-Clientname vergeben sein, ich nutze da immer den Gerätenamen:
                        286b0668-14b1-4131-ba3d-1ce491e4aa19-image.png
                        Wo hier also Tasmota steht, steht bei mir der Gerätename

                        MartinP 1 Reply Last reply Reply Quote 0
                        • MartinP
                          MartinP @BananaJoe last edited by MartinP

                          @bananajoe Werde den Tasmota Stromzähler am Wochenende mal probeweise umkonfigurieren auf den Mosquitto im zigbee2mqtt Docker Container...
                          Derzeit ist er am Sonoff-Adapter so oft indisponiert, dass er pro Tag 30...40 Impulse vom Gaszähler verpasst ... macht ca 0,4 m³ Fehler ...

                          Hier die Grafana-Kurve von heute ... eine Linie sind 0,5 m³, gegen 7:42 habe ich anhand des realen Zählerstandes korrigiert ...

                          604dab6d-18fd-4496-a906-7b0e1bae8c4b-grafik.png

                          EDIT - Es scheint AUCH ein WIFI-Problem zu sein... was merkwürdig ist.
                          Im Wifi Logging der Fritzbox gibt es für heute einen Verbindungsverlust des Devices ...

                          Fritzbox meldet vom Endgerät -71 dBm (vielleicht 3 Meter entfernt...)
                          Tasmota selber meldet 74%, -63 dBm

                          Ein ESP01, der noch einmal deutlich näher an der Fritzbox ist, kommt mit -40 dB an ...

                          BananaJoe 1 Reply Last reply Reply Quote 0
                          • BananaJoe
                            BananaJoe Most Active @MartinP last edited by

                            @martinp Viel Erfolg.

                            Ich lese meinen Gaszähler ja mit dem Wasserzähler-Projekt aus: https://forum.iobroker.net/topic/36622/wasserzähler-version-2-all-in-device
                            Hab ein 3D-gedrucktes Gehäuse per Magnet da dran,
                            die Kamera und der ESP liefern immer direkt die Werte.
                            01da0d24-ea43-44df-956a-d38b52744b4d-image.png
                            Geht auch mal "schief", aber eine halbe Umdrehung passt es dann wieder:
                            19163a5e-747b-4334-b670-c22e650ac994-image.png

                            Wert wird direkt per MQTT gesendet:
                            02f47981-d2bd-4dd7-b949-ba9d291ad015-image.png
                            Per Skript rechne ich den dann um in kWh gemäß der Formel meiner Stadtwerke,

                            Ich zähle nur ganze m³, die Nachkommastellen gingen auch noch. Aber da hab ich eine Spiegelung und keine Lust gehabt noch etwas anzupassen.
                            Ich habe hier auch noch irgendwo in der Bastelkiste den passenden Reed-Kontakt für den Zähler, teuer gekauft.
                            Aber ich bin kein Freund von Impulse zählen, so muss ich eigentlich nie etwas korrigieren.

                            MartinP 1 Reply Last reply Reply Quote 0
                            • MartinP
                              MartinP @BananaJoe last edited by MartinP

                              @bananajoe Das Umstellen des Tasmota - Stromzähler-Lesekopfes von Sonoff auf Mosquitto -> MQTT Client/Broker Adapter ist wahrscheinlich kniffelig ...

                              Es scheint zwar JSON zu sein, aber die Messwerte kommen Portionsweise ...

                              Es gibt nur einen Datenpunkt "SENSOR", und da rattern die verschiedenen Messwerte durch - z.B.:

                              {"Time":"2024-11-16T16:25:17","OP":{"56_7_0":271.34}}
                              

                              oder ...

                              {"Time":"2024-11-16T16:27:59","OP":{"76_7_0":174.58}}
                              

                              Das geht wohl nicht ohne Blockly und Userdata Datenpunkte aus ....

                              Das alleine in den vorhandenen Aliases zurechtzubiegen ist wahrscheinlich aussichtslos ...

                              BananaJoe 1 Reply Last reply Reply Quote 0
                              • BananaJoe
                                BananaJoe Most Active @MartinP last edited by BananaJoe

                                @martinp poste mal dein Skript was auf dem Tasmota-Gerät läuft + ein Screenshot von der normalen Anzeige der Werte auf dem Startbildschirm des Gerätes.
                                Das geht auch anders. Bei mir kommen alle Werte in einem Rutsch:

                                {"Time":"2024-11-16T17:11:17","SML":{"Verbrauch_T1":9721.9356231,"Verbrauch_T2":0.2737477,"Verbrauch_Summe":9722.2093709,"Einspeisung_Summe":4054.3632684,"Watt_L1":171.26,"Watt_L2":967.63,"Watt_L3":436.83,"Watt_Summe":1575.73,"Volt_L1":233.9,"Volt_L2":234.7,"Volt_L3":233.8}}
                                

                                Was ziemlich genau meiner Anzeige entspricht:
                                3ac7f528-ca83-4947-af5d-4152f5de1bbe-image.png
                                Man kann im Skript aber auch noch extra MQTT-Senden einbauen, ich lasse mir den aktuellen Verbrauch/Bezug so z.B. bei jeder Änderung senden / quasi im Sekundentakt.

                                MartinP 1 Reply Last reply Reply Quote 0
                                • MartinP
                                  MartinP @BananaJoe last edited by

                                  @bananajoe
                                  Ist das Copy & Paste von der Tasmota Webseite für eBZ DD3

                                  >D
                                  >B
                                  TelePeriod 30
                                  =>sensor53 r
                                  >M 1
                                  ; Device: eBZ DD3 2R06 ODZ1
                                  ; protocol is D0 OBIS ASCII
                                  ; 9600@7E1 for OP-type devices, 9600@8N1 for SM-type devices
                                  +1,3,o,0,9600,OP,1
                                  ; Zählerstand zu +A, tariflos, 
                                  ; Zählerstände Auflösung 10 µW*h (6 Vorkomma- und 8 Nachkommastellen)
                                  1,1-0:1.8.0*255(@0.001,Energie Bezug,Wh,1_8_0,8
                                  ; Zählerstand zu +A, Tarif 1
                                  ; 1,1-0:1.8.1*255(@0.001,Energie Bezug T1,Wh,1_8_1,8
                                  ; Zählerstand zu +A, Tarif 2
                                  ; 1,1-0:1.8.2*255(@0.001,Energie Bezug T2,Wh,1_8_2,8
                                  ; Zählerstand zu -A, tariflos
                                  ; 1,1-0:2.8.0*255(@0.001,Energie Export,Wh,2_8_0,8
                                  ; Summe der Momentan-Leistungen in allen Phasen, Auflösung 0,01W (5 Vorkomma- und 2 Nachkommastellen)
                                  1,1-0:16.7.0*255(@1,Leistung,W,16_7_0,18
                                  ; Momentane Leistung in Phase Lx, Auflösung 0,01W (5 Vorkomma- und 2 Nachkommastellen)
                                  1,1-0:36.7.0*255(@1,Leistung L1,W,36_7_0,18
                                  1,1-0:56.7.0*255(@1,Leistung L2,W,56_7_0,18
                                  1,1-0:76.7.0*255(@1,Leistung L3,W,76_7_0,18
                                  ; Spannung in Phase Lx, Auflösung 0,1V (nur über MSB)
                                  1,1-0:32.7.0*255(@1,Spannung L1,V,32_7_0,1
                                  1,1-0:52.7.0*255(@1,Spannung L2,V,52_7_0,1
                                  1,1-0:72.7.0*255(@1,Spannung L3,V,72_7_0,1
                                  ; Statuswort, 4 Byte Information über den Betriebszustand, HEX string
                                  ; tasmota can decode one string per device only!
                                  ;1,1-0:96.5.0*255(@#),Status1,,96_5_0,0
                                  ;1,1-0:96.8.0*255(@#),Status2,,96_8_0,0
                                  ; Geräte-Identifikation, Nach DIN 43863-5 
                                  1,1-0:96.1.0*255(@#),Identifikation,,96_1_0,0
                                  ;1,1-0:0.0.0*255(@#),Identifikation,,0_0_0,0
                                  #
                                  

                                  f39b1673-8881-4374-a1a2-d57b4b3e5340-grafik.png

                                  BananaJoe 1 Reply Last reply Reply Quote 0
                                  • BananaJoe
                                    BananaJoe Most Active @MartinP last edited by

                                    @martinp also:

                                    Die Zeile 3

                                    Teleperiod 30
                                    

                                    muss da raus, das ist kein gültiger SML Befehl. Den Befehl musst du einmalig(!) in der normalen Konsole eingeben, dann gilt der Wert.
                                    Der Rest sieht ok aus, wenn auch viele Kommentare.
                                    Das würde ich zuerst testen, dann sollten alle 30 Sekunden alle Werte in einem JSON auf dem MQTT-Broker reinkommen.

                                    Alternativ (aber erst das andere Testen):

                                    >D
                                    >B
                                    =>sensor53 r
                                    >M 1
                                    +1,3,o,0,9600,OP,1
                                    1,1-0:1.8.0*255(@0.001,Energie Bezug,Wh,1_8_0,8
                                    1,1-0:16.7.0*255(@1,Leistung,W,16_7_0,18
                                    1,1-0:36.7.0*255(@1,Leistung L1,W,36_7_0,18
                                    1,1-0:56.7.0*255(@1,Leistung L2,W,56_7_0,18
                                    1,1-0:76.7.0*255(@1,Leistung L3,W,76_7_0,18
                                    1,1-0:32.7.0*255(@1,Spannung L1,V,32_7_0,1
                                    1,1-0:52.7.0*255(@1,Spannung L2,V,52_7_0,1
                                    1,1-0:72.7.0*255(@1,Spannung L3,V,72_7_0,1
                                    1,1-0:96.1.0*255(@#),Identifikation,,96_1_0,0
                                    #
                                    >S
                                    =>Publish stromzaehler/tasmota/Energie-Bezug %sml[1]%
                                    =>Publish stromzaehler/tasmota/Leistung-Summe %sml[2]%
                                    =>Publish stromzaehler/tasmota/Leistung-L1 %sml[3]%
                                    =>Publish stromzaehler/tasmota/Leistung-L2 %sml[4]%
                                    =>Publish stromzaehler/tasmota/Leistung-L3 %sml[5]%
                                    =>Publish stromzaehler/tasmota/Spannung-L1 %sml[6]%
                                    =>Publish stromzaehler/tasmota/Spannung-L2 %sml[7]%
                                    =>Publish stromzaehler/tasmota/Spannung-L3 %sml[8]%
                                    

                                    Man beachte die zusätzlichen Zeilen unter dem #
                                    %sml[1]% steht schlicht "für den ersten Wert den du per SML ermittelt hast", 2,3,4 usw. entsprechend die anderen Werte.
                                    die Befehle senden diese an das angebenene MQTT-Topic, den Pfad kannst du dir also anpassen.
                                    Aber(!) die senden bei jeder Änderung, also vermutlich im Sekundentakt. Dafür dann in einzelnen Topics.
                                    Ich nutze das bei mir nur für die Gesamtleistung, an dem Datenpunkt hängt meine Solarsteuerung für Akku laden und Einspeisung, da will ich den Wert so oft haben.

                                    MartinP 1 Reply Last reply Reply Quote 0
                                    • MartinP
                                      MartinP @BananaJoe last edited by MartinP

                                      @bananajoe Prinzipiell scheint es zu funktionieren, Gibt aber nur eine Message, und dann Funkstille

                                      MQTT Explorer über Mosquitto

                                      {
                                        "sn": {
                                          "Time": "2024-11-17T13:09:27",
                                          "Switch1": "OFF",
                                          "OP": {
                                            "1_8_0": 16246407.10444,
                                            "16_7_0": 818.66,
                                            "36_7_0": 370.8,
                                            "56_7_0": 320.28,
                                            "76_7_0": 127.58,
                                            "32_7_0": 226.6,
                                            "52_7_0": 226.4,
                                            "72_7_0": 227.6,
                                            "96_1_0": "1EBZ......................."
                                          }
                                        },
                                        "ver": 1
                                      }
                                      
                                      tasmota/discovery/308398B5F63F/sensors
                                      
                                      
                                      MartinP 1 Reply Last reply Reply Quote 0
                                      • MartinP
                                        MartinP @MartinP last edited by MartinP

                                        Gibt zwei "Materialisierungen"

                                        Obiges, unter "discovery" da passiert nach dem Ersten Durchlauf nichts mehr ..

                                        Und dann noch /tele/Stromzaehler..../SENSOR

                                        Und da rollen sukzessive einzelne Werte durch ...

                                        {"Time":"2024-11-17T14:04:59","OP":{"16_7_0":739.16}}
                                        

                                        Das ist wirklich nicht schön zu verarbeiten ...

                                        Habe es mal so per Alias probiert ...

                                        38a2d66d-f468-47b6-a89a-d69a41f9c8ec-grafik.png

                                        Funktioniert nicht

                                        MartinP 1 Reply Last reply Reply Quote 0
                                        • MartinP
                                          MartinP @MartinP last edited by

                                          @martinp Noch einmal umgebaut ...

                                          6be06e03-f6fb-4733-ab15-13f4c0aa745d-grafik.png

                                          Bei "tele" kommen immer nur die Einzelwerte, die geändert wurden ... das aber SOFORT bei Änderung...

                                          Bei "discovery" gibt es ein Gesamtbild, das wird aber anscheinend gar nicht, oder nur sporadisch aktualisiert ...

                                          BananaJoe 1 Reply Last reply Reply Quote 0
                                          • MartinP
                                            MartinP last edited by

                                            Erstes Analyse Blockly ...

                                            e3134cb7-c728-4894-9b86-f53cd05c1c5d-grafik.png

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            379
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            42
                                            1213
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo