Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Tasmota MQTT daten auslesen

    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

    Tasmota MQTT daten auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • bahnuhr
      bahnuhr Forum Testing Most Active @Digi-Bit last edited by bahnuhr

      @digi-bit
      benutze ein kleines Script:

          on({id: "mqtt.2.Wemos_BadEG.SENSOR"}, function(obj) {  
              var stext = obj.state.val; obj = JSON.parse(obj.state.val); 
              if (stext.indexOf("BME280") != -1) { setState("javascript.0.Geräte.Wemos.Wemos-BadEG.BME280_Temperatur", obj.BME280.Temperature); };
              if (stext.indexOf("BME280") != -1) { setState("javascript.0.Geräte.Wemos.Wemos-BadEG.BME280_Taupunkt", obj.BME280.DewPoint); };
              if (stext.indexOf("BME280") != -1) { setState("javascript.0.Geräte.Wemos.Wemos-BadEG.BME280_Luftdruck", obj.BME280.SeaPressure); };
              if (stext.indexOf("BME280") != -1) { setState("javascript.0.Geräte.Wemos.Wemos-BadEG.BME280_Luftfeuchtigkeit", obj.BME280.Humidity); };
              if (stext.indexOf("BH1750") != -1) { setState("javascript.0.Geräte.Wemos.Wemos-BadEG.BH1750_Helligkeit", obj.BH1750.Illuminance); };
              if (stext.indexOf("S8") != -1) { setState("javascript.0.Geräte.Wemos.Wemos-BadEG.CO2", obj.S8.CarbonDioxide); };
          });
      

      noch ein tipp:
      setze Altitude bei dem Wemos; dann bekommst du den Luftdruck über Meereshöhe (= seapressure).
      Und mit dem MHZ19B hab ich schlechte Erfahrungen gemacht. Benutze lieber einen S8.

      1 Reply Last reply Reply Quote 0
      • D
        Digi-Bit @Codierknecht last edited by

        @codierknecht sagte in Tasmota MQTT daten auslesen:

        @digi-bit
        Rechte Maustaste auf den JSON-Datenpunkt => Alias erstellen.
        Diesen sinnvoll benennen und die Lesekonvertierung aktivieren: JSON.parse(val).ANALOG.A1 oder z.B. auch JSON.parse(val).BME280.Temperature

        Beispiel:

        e77e3ad8-abad-411c-a7d3-1238d138fea4-1741766284663-9f6ed465-82d1-4d70-8e99-ee367d399f0d-image.png

        @codierknecht sagte in Tasmota MQTT daten auslesen:

        JSON.parse(val).BME280.Temperature

        ohman...........

        so einfach........... und ich schreibe für den kram immer Blockly's 😞

        Ich bedanke mich und schönes weekend !

        mfg

        Digi-Bit

        D 1 Reply Last reply Reply Quote 0
        • D
          Digi-Bit @ticaki last edited by

          @ticaki sagte in Tasmota MQTT daten auslesen:

          @digi-bit

          sonoff adapter verwenden? btw. wieso wird der nicht umbenannt in Tasmota... Ja ich weiß wieso - trotzdem 🙂

          ne, ist schon der MQTT 😉

          mfg

          T 1 Reply Last reply Reply Quote 0
          • T
            ticaki Developer @Digi-Bit last edited by

            @digi-bit
            Der sonoff parse den Kram schon von sich aus, das meinte ich damit.

            D 1 Reply Last reply Reply Quote 0
            • D
              Digi-Bit @ticaki last edited by

              @ticaki sagte in Tasmota MQTT daten auslesen:

              @digi-bit
              Der sonoff parse den Kram schon von sich aus, das meinte ich damit.

              Ja, die Sensoren schon aber ich habe noch ein MAX7219 dran und das kann ich damit wohl nicht Steuern weil die Datenpunkte nicht da sind wie " DisplayText"

              sonst wäre es eine nette Sache

              mfg

              D 1 Reply Last reply Reply Quote 0
              • D
                Digi-Bit @Digi-Bit last edited by

                Ups.... hab die angelegt, werde da mal mit testen.....

                mfg

                1Topf 1 Reply Last reply Reply Quote 0
                • 1Topf
                  1Topf @Digi-Bit last edited by

                  @digi-bit

                  Den Datenpunkt "DisplayText" mußt Du im Sonoffadapter nicht händisch anlegen. Sobald Du unter Tasmota in der Konsole mit displaytext einen Text anzeigen läßt, wird der DP automatisch angelegt.

                  tasmota laufschrift.jpg

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    Digi-Bit @1Topf last edited by

                    @1topf sagte in Tasmota MQTT daten auslesen:

                    @digi-bit

                    Den Datenpunkt "DisplayText" mußt Du im Sonoffadapter nicht händisch anlegen. Sobald Du unter Tasmota in der Konsole mit displaytext einen Text anzeigen läßt, wird der DP automatisch angelegt.

                    tasmota laufschrift.jpg

                    Ahrg, jetzt weiss ich wieder wieso ich das mit MQTT mache

                    Flora.jpg

                    Bei Sonoff fehlen die werte :

                    Flora_MQTT.jpg

                    Soweit eine schöne Idee reicht mir aber leider nicht aus , oder kann man vielleicht den Sonoff Adapter auf diese Werte erweitern ?

                    Wäre natürlich klasse dann.

                    mfg

                    Digi-Bit

                    1 Reply Last reply Reply Quote 0
                    • D
                      Digi-Bit @Digi-Bit last edited by

                      @digi-bit sagte in Tasmota MQTT daten auslesen:

                      @codierknecht sagte in Tasmota MQTT daten auslesen:

                      @digi-bit
                      Rechte Maustaste auf den JSON-Datenpunkt => Alias erstellen.
                      Diesen sinnvoll benennen und die Lesekonvertierung aktivieren: JSON.parse(val).ANALOG.A1 oder z.B. auch JSON.parse(val).BME280.Temperature

                      Beispiel:

                      e77e3ad8-abad-411c-a7d3-1238d138fea4-1741766284663-9f6ed465-82d1-4d70-8e99-ee367d399f0d-image.png

                      @codierknecht sagte in Tasmota MQTT daten auslesen:

                      JSON.parse(val).BME280.Temperature

                      ohman...........

                      so einfach........... und ich schreibe für den kram immer Blockly's 😞

                      Ich bedanke mich und schönes weekend !

                      mfg

                      Digi-Bit

                      ag, geht doch nicht.

                      Ich hätte vielleicht dazu schreiben sollen das ich mir das Tasmota selber zusammen gestellt habe damit ich Sensoren BLE und den MAX7219 bei habe.

                      10:09:19.941 M32: Kick off readOneSensor
                      10:09:19.943 M32: Kick off tele sending
                      10:09:20.947 MQT: MAX7219/Buero_BL/tele/tasmota_CD3A44/SENSOR = {"Time":"2025-03-16T10:09:20","Flora6d39de":{"mac":"c47c8d6d39de","Temperature":7.7,"Illuminance":25414,"Moisture":27,"Fertility":209,"RSSI":-90},"Flora6d3ae7":{"mac":"c47c8d6d3ae7","Temperature":24.0,"Illuminance":4041,"Moisture":66,"Fertility":734,"RSSI":-89},"TempUnit":"C"}
                      10:09:21.946 MQT: MAX7219/Buero_BL/tele/tasmota_CD3A44/SENSOR = {"Time":"2025-03-16T10:09:21","ATC90823f":{"mac":"a4c13890823f","Temperature":21.2,"Humidity":55.0,"DewPoint":11.8,"Battery":66,"RSSI":-87},"TempUnit":"C"}
                      10:09:28.950 MQT: MAX7219/Buero_BL/tele/tasmota_CD3A44/STATE = {"Time":"2025-03-16T10:09:28","Uptime":"0T00:09:39","UptimeSec":579,"Heap":53,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":21,"MqttCount":2,"Berry":{"HeapUsed":4,"Objects":45},"POWER1":"ON","Dimmer":6,"Color":"000F00","HSBColor":"120,100,6","Channel":[0,6,0],"Scheme":0,"Width":1,"Fade":"OFF","Speed":1,"LedTable":"ON","Wifi":{"AP":1,"SSId":"Hell-Smart-Home","BSSId":"FE:92:BF:21:3A:4B","Channel":1,"Mode":"HT40","RSSI":56,"Signal":-72,"LinkCount":1,"Downtime":"0T00:00:04"}}
                      10:09:29.034 MQT: MAX7219/Buero_BL/tele/tasmota_CD3A44/SENSOR = {"Time":"2025-03-16T10:09:28","ANALOG":{"A1":686},"BME280":{"Temperature":27.3,"Humidity":33.5,"DewPoint":9.9,"Pressure":1016.6},"MHZ19B":{"Model":"B","CarbonDioxide":616,"Temperature":26.0},"PressureUnit":"hPa","TempUnit":"C"}
                      10:09:29.068 MQT: MAX7219/Buero_BL/tele/tasmota_CD3A44/BLE = {"Time":"2025-03-16T10:09:29","BLEDevices":{"total":8,"C47C8D6D39DE":{"i":0,"r":-89},"C47C8D6D3AE7":{"i":1,"r":-89},"C8120B61A10D":{"i":2,"r":-87},"BC7E8BDD6C21":{"i":3,"r":-100},"D49DC0A18A83":{"i":4,"r":-95},"A4C13890823F":{"i":5,"r":-79},"64E7D83FB797":{"i":6,"r":-99},"184644A80B0C":{"i":7,"n":"P239 SkyQ EC201","r":-99}}}
                      10:09:29.106 MQT: MAX7219/Buero_BL/tele/tasmota_CD3A44/BLE = {"Time":"2025-03-16T10:09:29","BLE":{"scans":28,"adverts":4828,"devices":8,"resets":0}}
                      10:09:49.962 M32: Kick off readOneSensor
                      10:09:49.964 M32: Kick off tele sending
                      

                      ich nehme mal an da er den /tasmota_CD3A44/SENSOR für die Sensoren UND das BLE benutz kommen ab und an mal die Alias daten nicht an und dadurch ergibt sich das hier dann :

                      Alias.jpg

                      Ist also auch nicht so Perfekt leider 😞

                      Wie ich es dreh und wende irgend wo ist immer ein Hacken drin 😞

                      Gibt es noch eine Möglichkeit ?

                      Und ne, 2 Chips zu verwenden will ich nicht wirklich, scheint aber mit ioBroker nicht anders zu gehen 😧

                      mfg

                      Digi-Bit

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        ticaki Developer @Digi-Bit last edited by

                        @digi-bit

                        JSON.parse(val).ANALOG.A1
                        
                        val ? JSON.parse(val).ANALOG.A1 : -1
                        

                        anstatt -1 ein sinnvolles hat nicht geklappt valueeinfügen

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          Digi-Bit @ticaki last edited by

                          @ticaki sagte in Tasmota MQTT daten auslesen:

                          val ? JSON.parse(val).ANALOG.A1 : -1

                          Mmmmmm

                          Vieleicht verstehe ich da was falsch

                          Ich erstelle das Alias:

                          JSon_1.jpg

                          ich bekomme auch einen datenpunkt und er schreibt auch den gewünschten Wert hinein

                          JSon_2.jpg

                          aber ich bekomme Fehlermeldungen im Protokoll ;(

                          
                          javascript.0
                          2025-03-16 11:50:38.714	error	Invalid read function for "alias.0.MAX7219.Buero_BL.A1": "val ? JSON.parse(val).ANALOG.A1 : -1" => Cannot read properties of undefined (reading 'A1')
                          
                          admin.1
                          2025-03-16 11:50:38.713	error	Invalid read function for "alias.0.MAX7219.Buero_BL.A1": "val ? JSON.parse(val).ANALOG.A1 : -1" => Cannot read properties of undefined (reading 'A1')
                          

                          was mach ich noch falsch ?`

                          mfg

                          Digi-Bit

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            ticaki Developer @Digi-Bit last edited by ticaki

                            @digi-bit sagte in Tasmota MQTT daten auslesen:

                            was mach ich noch falsch ?`

                            Mein Fehler zuviel c&p und zuwenig geguckt 🙂

                            hm weiß garnet ob das hier im alias geht - woanders gehts 🙂

                            kann sein das da noch {}drum müssen.

                            const x = val ? JSON.parse(val) : undefined; if (x?.ANALOG?.A1) return x.ANALOG.A1; else return -1;
                            

                            das könnte auch gehen 🙂 Aber nur wenn A1 nicht 0 sein kann

                            const x = val && JSON.parse(val)?.ANALOG?.A1 || -1;
                            

                            alternative

                            val && JSON.parse(val).ANALOG ? JSON.parse(val).ANALOG.A1 : -1
                            

                            Sag mir bitte was ging - die Anwendung von ? im 2. Vorschlag ist mir erst letzten bewusst geworden, bin mir noch net sicher das das in && Verkettungen geht.

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              Digi-Bit @ticaki last edited by

                              @ticaki sagte in Tasmota MQTT daten auslesen:

                              val && JSON.parse(val).ANALOG ? JSON.parse(val).ANALOG.A1 : -1

                              Hi,

                              val && JSON.parse(val).ANALOG ? JSON.parse(val).ANALOG.A1 : -1
                              

                              Diese Version macht am meisten Sinn, Ich habe einen Datenpunkt, KEINE Fehlermeldungen im Protokoll !

                              das einzige ist das es ab und an mal einen -1 wert gibt aber das kann ich bei influxdb rausfiltern und bei dem Blockly sollte es auch Wurst sein da ich erst werte ab 2000 auswerte, falls mal wieder die Therme spinnt und wieder Gas in mein Büro strömt und zig Feuerwehr Fahrzeuge vor dem Haus stehen.... ist nicht so klasse ..............

                              Ich werde nachher mal die anderen Daten rausfiltern und auch die von dem Flora Modulen in den Blumen ob das auch damit geht, aber ich bin da mal zuversichtig 😉

                              val && JSON.parse(val).Flora6d39de ? JSON.parse(val).Flora6d39de.Moisture : -1
                              
                              

                              Das geht auch soweit halt auch ab und an mal ein -1 drin aber das ist bisher die beste Lösung für meine Bedürfnisse ^^

                              Ich bedanke mich recht Herzlich für seine Bemühungen und wünsche dir ein wunderschönen Sontag noch ! ! !

                              mfg

                              Digi-Bit

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate
                              FAQ Cloud / IOT
                              HowTo: Node.js-Update
                              HowTo: Backup/Restore
                              Downloads
                              BLOG

                              541
                              Online

                              31.9k
                              Users

                              80.2k
                              Topics

                              1.3m
                              Posts

                              mqtt tasmota
                              5
                              16
                              659
                              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