Navigation

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

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Tasmota - MQTT - CO2-Sensordaten

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

      @chrisprefect Gib dich nicht auf! Lerne JSON! JSON ist dein Freund!
      Der Vorteil von JSON ist ja gerade das in einem Rutsch mehrere Werte gesendet werden können, die zudem alle zeitgleich ankommen. Das man Ziel die Werte wieder auseinander bauen muss ist immer noch schneller als jeden Wert einzeln abzufragen. Ich nutze auch keine Aliase, Blockly kann das auch. Oder JavaScript.

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

        @chrisprefect
        Sind doch auch nur ein paar Zeilen.
        Und schon hast du die Werte in deine eigenen DP und kannst damit weiterarbeiten.

        // Wemos-Sauna hat sich geändert           IP = 192.168.243.184
            on({id: "mqtt.2.Wemos_Sauna_Klima.SENSOR"}, function(obj) {  
                obj = JSON.parse(obj.state.val); 
                if (stext.indexOf("BME280") != -1) { setState("javascript.0.Geräte.Wemos.Wemos-Sauna.BME280_Temperatur", obj.BME280.Temperature); };
                if (stext.indexOf("BME280") != -1) { setState("javascript.0.Geräte.Wemos.Wemos-Sauna.BME280_Taupunkt", obj.BME280.DewPoint); };
                if (stext.indexOf("BME280") != -1) { setState("javascript.0.Geräte.Wemos.Wemos-Sauna.BME280_Luftdruck", obj.BME280.SeaPressure); };
                if (stext.indexOf("BME280") != -1) { setState("javascript.0.Geräte.Wemos.Wemos-Sauna.BME280_Luftfeuchtigkeit", obj.BME280.Humidity); };
                if (stext.indexOf("BH1750") != -1) { setState("javascript.0.Geräte.Wemos.Wemos-Sauna.BH1750_Helligkeit", obj.BH1750.Illuminance); };
                if (stext.indexOf("S8") != -1) { setState("javascript.0.Geräte.Wemos.Wemos-Sauna.CO2", obj.S8.CarbonDioxide); };
            });
        
        ChrisPrefect 1 Reply Last reply Reply Quote 1
        • ChrisPrefect
          ChrisPrefect @bahnuhr last edited by

          @bahnuhr Ja, geht natürlich alles 🙂 Aber ist halt alles sehr unschön. Ich habe dann die Werte nicht da wo ich sie erwarte, also z.B. nicht im mqtt-Ordner, sondern irgendwo anders zwischen all den anderen javascript-Variablen. Und ich muss mich daran erinnern, wenn ich irgendwas mit dem Gerät oder den Werten davon mache. Das wird in einem Jahr sicher wieder mühsam, wenn irgendwas nicht geht und ich mich erst erinnern muss, dass da irgendwo ein Skript rumliegt, dass die Werte manuell aus dem JSON extrahiert.

          Dann doch lieber sauber mit ESPEasy. Schade, dass Tasmota und der Sonoff-Adapter das beide nicht iobroker-Kompatibel im Objektbaum speichern.

          ? 1 Reply Last reply Reply Quote 0
          • ?
            A Former User @ChrisPrefect last edited by

            @chrisprefect Ich habe etwas ähnliches wie Du oben hier am laufen und er legt mir für jeden DP einen einzelnen Wert an. Verstehe ich richtig, dass Du sowas Dir wünschst?

            Bildschirmfoto 2023-09-23 um 06.53.51.png

            Oder doch was anderes?

            Danke

            ChrisPrefect 1 Reply Last reply Reply Quote 1
            • ChrisPrefect
              ChrisPrefect @Guest last edited by

              @alinaclg Hi! Ja, genau so sollte es aussehen. Kommt das aus Tasmota raus? Ev. kann man Tasmota ja dazu bringen die Daten korrekt per MQTT abzuliefern und nicht einfach nur als JSON-Blob.

              Codierknecht 1 Reply Last reply Reply Quote 0
              • Codierknecht
                Codierknecht Developer Most Active @ChrisPrefect last edited by

                @chrisprefect
                Du hast 2 Möglichkeiten:

                1. Du verwendest statt Mqtt den Sonoff-Adapter für Tasmota-betriebene Geräte
                  Der fummelt das automatisch für Dich auseinander.

                2. Du verwendest den Mqtt-Adapter und legst Dir unter alias.0 eine passende Struktur an.
                  Aus dem JSON kannst Du über die Konvertierungsfunktionen den jeweils passenden Wert in den Alias übernehmen.
                  Ist halt etwas Arbeit.

                Möglichkeit 3 habe ich hier mal unterschlagen.
                Das Ganze per Blockly/JS auseinanderzunehmen und unter 0_userdata.0 abzulegen ist IMHO zu viel Aufwand.

                ChrisPrefect 1 Reply Last reply Reply Quote 0
                • ChrisPrefect
                  ChrisPrefect @Codierknecht last edited by ChrisPrefect

                  @codierknecht hmm also 1 klappt bei mir nicht, da kommen eben keine Werte aus dem Tasmota-Adapert. Screenshot im ersten Post. Nummer 2 und 3 will ich verhindern, das ist sehr unschön, wartungsintensiv und fehleranfällig.

                  Wal Codierknecht 2 Replies Last reply Reply Quote 0
                  • Wal
                    Wal Developer @ChrisPrefect last edited by

                    @chrisprefect ,
                    zeig mal deine Einstellungen vom Sonoff-Adapter als Screenshot und ein Log von der Tasmotakonsole im Code-Tag .

                    1 Reply Last reply Reply Quote 1
                    • Codierknecht
                      Codierknecht Developer Most Active @ChrisPrefect last edited by

                      @chrisprefect sagte in Tasmota - MQTT - CO2-Sensordaten:

                      Nummer 2 ... will ich verhindern, das ist sehr unschön, wartungsintensiv und fehleranfällig

                      Das ist einmalig etwas Arbeit, aber danach stabil.

                      Meine Wasseruhr muss über Mqtt laufen, da das nicht mit Tasmota läuft.
                      Einmal den Alias angelegt und läuft.

                      Aber wie @Wal schon schreibt: Zeig mal Deine Einstellungen.

                      Wal Homoran 2 Replies Last reply Reply Quote 0
                      • Wal
                        Wal Developer @Codierknecht last edited by Wal

                        @codierknecht ,
                        wenn ich mir die MQTT-Objekte ansehe, wird bei @ChrisPrefect nur der Haken bei aut. erz. /tele/sensor Objekte im Sonoff-Adapter fehlen.

                        edit: habe in die Glaskugel geschaut. 😉

                        ChrisPrefect 1 Reply Last reply Reply Quote 1
                        • Homoran
                          Homoran Global Moderator Administrators @Codierknecht last edited by

                          @codierknecht sagte in Tasmota - MQTT - CO2-Sensordaten:

                          @chrisprefect sagte in Tasmota - MQTT - CO2-Sensordaten:

                          Nummer 2 ... will ich verhindern, das ist sehr unschön, wartungsintensiv und fehleranfällig

                          Das ist einmalig etwas Arbeit, aber danach stabil.

                          das gilt auch für 3, auch wenn du es nicht magst, mag es u.U. sogar einfacher sein, wenn man bei mehreren Werten die Blöcke "mal eben" kopiert und anpasst.

                          1 Reply Last reply Reply Quote 0
                          • ChrisPrefect
                            ChrisPrefect @Wal last edited by

                            @wal JAAA!! 😄

                            Danke! Genau das wars!

                            Ich konnte mir nicht vorstellen, dass der Adapter das nicht kann. Dass man das separat aktivieren muss, hätte ich nicht erwartet.

                            Zum Glück brauche ich so keine umständliche Aliase oder Skripte. Geht doch 😉

                            2919ce2d-147f-4f6d-8a54-2651ca6f11c6-image.png

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

                            Support us

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

                            869
                            Online

                            32.0k
                            Users

                            80.6k
                            Topics

                            1.3m
                            Posts

                            8
                            15
                            563
                            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