Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Tasmota - MQTT - CO2-Sensordaten

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    590

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    480

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    1.0k

Tasmota - MQTT - CO2-Sensordaten

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
15 Beiträge 8 Kommentatoren 964 Aufrufe 5 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • ChrisPrefectC ChrisPrefect

    Hallo

    Ich möchte den MH-Z19B CO2-Sensor der an einem ESP32 mit Tasmota hängt in ioBroker auswerten.

    Ich habe den generischen mqtt Server und den Sonoff-Adapter installiert.

    Wenn ich den mqtt-Server in Tasmota konfiguriere erhalte ich folgende Datenpunkte (also gar keine):

    1059d625-040c-4989-a4be-35bc34833d83-image.png

    Mit dem generischen mqtt-Server sieht es leicht besser aus:

    c9f77491-fdea-440e-911f-1566fec92ae6-image.png ¨

    Der einzig halbwegs sinnvolle Datenpunkt ist dann dieser hier der einfach JSON als Value hat:

    {
      "sn": {
        "Time": "1970-01-01T00:14:24",
        "MHZ19B": {
          "Model": "B",
          "CarbonDioxide": 400,
          "Temperature": 26
        },
        "TempUnit": "C"
      },
      "ver": 1
    }
    

    Das bringt mir natürlich nicht viel, ich will ja die History-Funktion haben und den Wert in der Vis anzeigen.

    Extra dafür ein Skript haben dass das JSON auspackt und einen separaten Wert abspeichert ist mir zu unsauber, das möchte ich nicht.

    Kann Tasmota also nicht die Werte der Sensoren sauber als einzelne Datenpunkte an ioBroker liefern?

    Muss ich ESPEasy nehmen? Da geht das nämlich.

    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #2

    @chrisprefect Nein - aber das JSON ist doch völlig OK. Erstell Dir einen Alias, der Dir den gewünschten Wert extrahiert.

    Hier ein Beispiel, wie man so einen Alias anlegt und die gewünschte Eigenschaft extrahiert: https://forum.iobroker.net/post/980575

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    ChrisPrefectC 1 Antwort Letzte Antwort
    1
    • mickymM mickym

      @chrisprefect Nein - aber das JSON ist doch völlig OK. Erstell Dir einen Alias, der Dir den gewünschten Wert extrahiert.

      Hier ein Beispiel, wie man so einen Alias anlegt und die gewünschte Eigenschaft extrahiert: https://forum.iobroker.net/post/980575

      ChrisPrefectC Offline
      ChrisPrefectC Offline
      ChrisPrefect
      schrieb am zuletzt editiert von
      #3

      @mickym Uff, ok, dann muss ich ESPEasy installieren. Aliase finde ich extrem chaotisch und unschön und Werte extrahieren will ich auch nicht müssen, das ist wartungsintensiv und fehleranfällig.

      Merci für die Antwort!

      BananaJoeB bahnuhrB 2 Antworten Letzte Antwort
      0
      • ChrisPrefectC ChrisPrefect

        @mickym Uff, ok, dann muss ich ESPEasy installieren. Aliase finde ich extrem chaotisch und unschön und Werte extrahieren will ich auch nicht müssen, das ist wartungsintensiv und fehleranfällig.

        Merci für die Antwort!

        BananaJoeB Offline
        BananaJoeB Offline
        BananaJoe
        Most Active
        schrieb am zuletzt editiert von BananaJoe
        #4

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

        ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

        1 Antwort Letzte Antwort
        1
        • ChrisPrefectC ChrisPrefect

          @mickym Uff, ok, dann muss ich ESPEasy installieren. Aliase finde ich extrem chaotisch und unschön und Werte extrahieren will ich auch nicht müssen, das ist wartungsintensiv und fehleranfällig.

          Merci für die Antwort!

          bahnuhrB Online
          bahnuhrB Online
          bahnuhr
          Forum Testing Most Active
          schrieb am zuletzt editiert von bahnuhr
          #5

          @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); };
              });
          

          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
          Danke.
          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
          ScreenToGif :https://www.screentogif.com/downloads.html

          ChrisPrefectC 1 Antwort Letzte Antwort
          1
          • bahnuhrB 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); };
                });
            
            ChrisPrefectC Offline
            ChrisPrefectC Offline
            ChrisPrefect
            schrieb am zuletzt editiert von
            #6

            @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 Antwort Letzte Antwort
            0
            • ChrisPrefectC ChrisPrefect

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

              ? Offline
              ? Offline
              Ein ehemaliger Benutzer
              schrieb am zuletzt editiert von
              #7

              @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

              ChrisPrefectC 1 Antwort Letzte Antwort
              1
              • ? Ein ehemaliger Benutzer

                @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

                ChrisPrefectC Offline
                ChrisPrefectC Offline
                ChrisPrefect
                schrieb am zuletzt editiert von
                #8

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

                CodierknechtC 1 Antwort Letzte Antwort
                0
                • ChrisPrefectC ChrisPrefect

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

                  CodierknechtC Offline
                  CodierknechtC Offline
                  Codierknecht
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #9

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

                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                  HmIP|ZigBee|Tasmota|Unifi
                  Zabbix Certified Specialist
                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                  ChrisPrefectC 1 Antwort Letzte Antwort
                  0
                  • CodierknechtC Codierknecht

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

                    ChrisPrefectC Offline
                    ChrisPrefectC Offline
                    ChrisPrefect
                    schrieb am zuletzt editiert von ChrisPrefect
                    #10

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

                    WalW CodierknechtC 2 Antworten Letzte Antwort
                    0
                    • ChrisPrefectC 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.

                      WalW Offline
                      WalW Offline
                      Wal
                      Developer
                      schrieb am zuletzt editiert von
                      #11

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

                      Gruß
                      Walter

                      DoorIO-Adapter
                      wioBrowser-Adapter und wioBrowser

                      1 Antwort Letzte Antwort
                      1
                      • ChrisPrefectC 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.

                        CodierknechtC Offline
                        CodierknechtC Offline
                        Codierknecht
                        Developer Most Active
                        schrieb am zuletzt editiert von
                        #12

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

                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                        HmIP|ZigBee|Tasmota|Unifi
                        Zabbix Certified Specialist
                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                        WalW HomoranH 2 Antworten Letzte Antwort
                        0
                        • CodierknechtC Codierknecht

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

                          WalW Offline
                          WalW Offline
                          Wal
                          Developer
                          schrieb am zuletzt editiert von Wal
                          #13

                          @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. ;-)

                          Gruß
                          Walter

                          DoorIO-Adapter
                          wioBrowser-Adapter und wioBrowser

                          ChrisPrefectC 1 Antwort Letzte Antwort
                          1
                          • CodierknechtC Codierknecht

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

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #14

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

                            kein Support per PN! - Fragen im Forum stellen -
                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            1 Antwort Letzte Antwort
                            0
                            • WalW 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. ;-)

                              ChrisPrefectC Offline
                              ChrisPrefectC Offline
                              ChrisPrefect
                              schrieb am zuletzt editiert von
                              #15

                              @wal JAAA!! :-D

                              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 Antwort Letzte Antwort
                              0

                              Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                              Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                              Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                              Registrieren Anmelden
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

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

                              290

                              Online

                              32.8k

                              Benutzer

                              82.9k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe