Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Tasmota MQTT Werte erhalten

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Tasmota MQTT Werte erhalten

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tasuanetrukiat last edited by

      Hallo,

      da ich etliche Tasmota Zwischenmessstecker habe und die Werte gerne über gesendete mqtt Nachrichten in iobroker bekommen möchte, das aber nicht ganz so einfach war, wollte ich mal meine Lösung vorstellen.

      Gut an IOBROKER ist das mit dem MQTT Broker/Client Adapter man auf externe Programme wie mosquito verzichten kann. Daher habe ich diesen Adapter als sink für die mqtt Nachrichten verwendet:
      b00bcdae-8173-43b0-b20b-b2573e0ce542-grafik.png
      Konfiguriert wird der Adapter als Server/Broker. Verwendet habe ich Port 1833 ohne WebSockets. Benutzer und Passwort sind vergeben:

      4e7b5933-e303-4e18-94e0-334529e5eb87-grafik.png

      Auf den Tasmotageräten wird dann die iobroker-IP konfiguriert mit dem User und dem Passwort.
      Ein passender Name unter Topic kann man dort auch vergeben:
      e7f4975b-1f7a-4301-8e70-0964201261ee-grafik.png

      Damit die Werte regelmäßig an iobroker gesendet werden kann man in der Konsole von Tasmota Pausenwert zwischen zwei Nachrichten mittels TelePeriod 10 z.B. auf 10 s ändern.

      Im Objektbaum findet man dann Nachrichten unter mqtt/<Index> in mehreren Unterverzeichnissen wieder. Ich benutze aber die Werte unter tele/<vergebenerName>/SENSOR da ich dann das Gerät auch mal tauschen kann und im Gerät nur wieder den gleichen Namen einstellen muss:
      69975c69-41e5-4e20-a370-63a0d6f38136-grafik.png

      {
        "Time": "2024-02-20T10:59:50",
        "ENERGY": {
          "TotalStartTime": "2023-12-31T11:37:00",
          "Total": 90.376,
          "Yesterday": 0.023,
          "Today": 0.01,
          "Period": 0,
          "Power": 1,
          "ApparentPower": 2,
          "ReactivePower": 2,
          "Factor": 0.44,
          "Voltage": 228,
          "Current": 0.01
        }
      }
      

      In den anderen Feldern kann man weitere Werte des Gerätes ermitteln.
      Leider werden die Werte aber nicht weiter einzeln ausgegeben. So muss man nun das verschachtelte JSON auslesen um die Werte dann im Objektbaum unter 0_userdata zu speichern. Dazu habe ich mir dort in einem mir passenden Verzeichnis einen Channel angelegt und darunter dann die States für Arbeit und Leistung. Ein weiterer Wert Anzahl dient dazu die Anzahl der eingeschalteten Frostschutz-Heizungen im Zelt zu ermitteln:
      f0d78798-7575-48c9-98c4-aed231cbebab-grafik.png

      Um die Einzelwerte dann in meine neuen State zu bekommen benutze ich ein Blockly Script:
      cb869e91-55e6-4ca4-a13d-f579207c1b27-grafik.png
      Es macht in etwa folgendes:
      Wenn sich SENSOR ändert dann lese das JSON aus SENSOR und speichere Ihn eine Variable jobject.
      Dann speichere jeweils die Werte von Arbeit und Leistung in meinem erzeuten State Objekte indem das passende JSON-Attribut in ein Object und dann in eine Zahl verwandelt wird.
      Meine Anzahl wird dann auch gleich noch berechnet.

      Das wars auch schon.

      Hier noch das ganze für einen Satz von Temperatursensoren welche ich auch über ein Tasmota-Gerät auslese:

      8dbf83e3-1300-435c-a12b-da4231f9d7d4-grafik.png

      Ich hatte dazu ein Sonoff Basic R2 verwendet welches ein internes Netzteil als galvanische Trennung zwischen benutzt, das Relais und die Verbindungstrippe raus geworfen damit ich die 2pol. Ausgangsbuchse als Anschluss für die DS18B20 Sensoren verwenden kann. Ich konnte 9 Stück damit parasitär betreiben. Ein weiterer im Gerät eingelöteter läuft nicht-parasitär (Hier DS18B20-1). Angeschlossen habe ich dann aktuell nur 5 Stück + der Interne.

      396f908e-ec16-4350-924f-0da2e21944c1-grafik.png

      Ich hoffe ich kann mit meiner kurzen Beschreibung Leuten weiter helfen.

      Mein nächstes Ziel ist dann noch über mqtt auch die Relais zu schalten.

      Ich haben ansonsten noch die Software evcc, ein OpenDTU und einen Bayern-Lüfter via mqtt angebunden. Das dann aber später vielleicht in einem eigenen Tröt.

      Codierknecht bahnuhr BertDerKleine T 4 Replies Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @tasuanetrukiat last edited by

        @tasuanetrukiat
        Warum machst Du das nicht mit dem Sonoff-Adapter?
        Der fummelt einem das fein auseinander (Leistungen, Temperaturen usw.) und Schalten geht auch. Ohne Blockly o.ä.

        1 Reply Last reply Reply Quote 2
        • bahnuhr
          bahnuhr Forum Testing Most Active @tasuanetrukiat last edited by

          @tasuanetrukiat

          Du solltest die Temp nach der ID zuordnen. Ansonsten könnte es zu Problemen kommen (falsch Zuordnung).

          Genauer hier:
          https://forum.iobroker.net/topic/69730/csw120-warmwasserspeicher-an-welchen-rohren-messen/12

          1 Reply Last reply Reply Quote 0
          • bahnuhr
            bahnuhr Forum Testing Most Active @haselchen last edited by

            @haselchen sagte in Tasmota MQTT Werte erhalten:

            Bei Tasmota Geräten nimmt man den Sonoff Adapter.

            warum?
            Ich nehme nur den mqtt.

            haselchen 1 Reply Last reply Reply Quote 0
            • haselchen
              haselchen Most Active @bahnuhr last edited by

              @bahnuhr

              Wo ist der Vorteil ?

              bahnuhr 1 Reply Last reply Reply Quote 0
              • bahnuhr
                bahnuhr Forum Testing Most Active @haselchen last edited by

                @haselchen sagte in Tasmota MQTT Werte erhalten:

                @bahnuhr

                Wo ist der Vorteil ?

                Das weiß ich nicht.
                Du hast doch geschrieben:

                @haselchen sagte in Tasmota MQTT Werte erhalten:

                Bei Tasmota Geräten nimmt man den Sonoff Adapter.
                Die sind aufeinander eingespielt und liefern dir fertige Datenpunkte.

                haselchen 1 Reply Last reply Reply Quote 0
                • haselchen
                  haselchen Most Active @bahnuhr last edited by

                  @bahnuhr

                  Dabei bleibe ich auch 😬

                  Aber wo liegt für Dich der Vorteil den MQTT bei Tasmota zu benutzen ?

                  Die Geräte sind in 30sek eingebunden und liefern Dir sofort ALLE Datenpunkte fertig aufgelistet.

                  crunchip 1 Reply Last reply Reply Quote 0
                  • crunchip
                    crunchip Forum Testing Most Active @haselchen last edited by

                    @haselchen sagte in Tasmota MQTT Werte erhalten:

                    Aber wo liegt für Dich der Vorteil den MQTT bei Tasmota zu benutzen ?

                    ich denke der "Vorteil" liegt darin, wenn man sowieso schon mqtt nutzt (und weiß wie es funktioniert) spart man sich zusätzliche Adapter

                    bahnuhr 1 Reply Last reply Reply Quote 0
                    • bahnuhr
                      bahnuhr Forum Testing Most Active @crunchip last edited by

                      @crunchip sagte in Tasmota MQTT Werte erhalten:

                      ich denke der "Vorteil" liegt darin, wenn man sowieso schon mqtt nutzt (und weiß wie es funktioniert) spart man sich zusätzliche Adapter

                      genau so

                      1 Adapter weniger

                      1 Reply Last reply Reply Quote 0
                      • T
                        tasuanetrukiat @tasuanetrukiat last edited by tasuanetrukiat

                        Hier mal eine aktuelle Version in der alle ResultErgebnisse mit einer Funktion in einen eigenen Baum erstellt werden. Dann kann man direkt auf die Ergebnisse zugreifen ohne erst mühsam sich einen Code zusammen zu klicken.
                        In meinem Fall werden von TASMOTA-Geräte gesendete Daten ausgelesen.
                        JSONParse habe ich von Hier:JSON Parser - Aus Blockly JSON in Datenpunkte schreiben.

                        255aa466-4778-4e91-95b3-a38d06895413-grafik.png

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        1.0k
                        Online

                        31.6k
                        Users

                        79.5k
                        Topics

                        1.3m
                        Posts

                        5
                        10
                        1527
                        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