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. Mehrere DS18B20 aus mqtt auflösen

NEWS

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

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

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

Mehrere DS18B20 aus mqtt auflösen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
29 Beiträge 6 Kommentatoren 3.3k Aufrufe 4 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.
  • SegwayS Segway

    @c3b sagte in Mehrere DS18B20 aus mqtt auflösen:

    Hi Leutz
    Ich habe mehrere (bis jetzt 5) DS18B20 an einen ESP8266 (Tasmota) an einem GPIO-Port angeschlossen. Diesen per mqtt an den iobroker angebunden. Fuktioniert so weit auch. Ich bekomme die drei Ordner stat, cmnd und tele. Unter tele/Sensor sehe ich alle fünf ID's mit den dazugehörigen Temperaturen.

    Interessante Geschichte. Habe so etwas ähnliches vor und bräuchte für meinen Teich-Filterkeller mehrere Temperatursensoren, die ich dann auslesen.
    Wie ist dein Hardwareaufbau, dass du an nur EINEM GPIO mehrere DS18B20 auslesen kannst ?
    Das würde mich interessieren. Bei mir kommen wohl auch locker 10 Temps in Frage.

    C Offline
    C Offline
    c3b
    schrieb am zuletzt editiert von
    #14

    @segway Hi.
    Ganz einfach. Ein ESP8266 mit Tasmota und dann alle Datenleitungen an den GPIO. Pullup von 4k7 an Vdd und fertig.

    DS18b20.JPG

    LG aus dem Sauerland

    1 Antwort Letzte Antwort
    0
    • bahnuhrB Online
      bahnuhrB Online
      bahnuhr
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #15

      @segway
      66c14df5-fc18-4a61-b06d-c7e74a44dff8-image.png

      und noch einige pdf
      Temperatursensor (DS18B20) - Arduino Datenlogger mit Stockwaage für Imker.pdf
      DS18x20 Temperatursensor - Tasmota.pdf
      DS18B20 Temperatur Shield.pdf

      Man beachte die Begrenzung auf 8 Sensoren.


      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

      SegwayS 1 Antwort Letzte Antwort
      0
      • C c3b

        @paul53 Hi Leutz

        Ich hab mal ein bischen rumgespielt. Klappt super. Hab gerade eine Abfrage alle 10 Sekunden drin. (nur zum probieren) Ist etwas unübersichtlich, da ich für jeden Wert einen Ordner anlegen muss und dort der DP "Temperatur" drin steht. Schöner wäre unter dem Ordner Fußbodenheizung/Obergeschoß alle Werte mit Namen zu sehen. Beispiel: Bad_Vorlauf 21,4.
        Sollte das dann so aussehen?

        setState(path '.rooms[id]', obj["DS18B20-" + i].Temperature, true)
        

        Dann hätte ich einen Ordner mit 5 Einträgen.

        Hier mein komplettes Skript:

        // Temperatursensorwerte der Fußbodenheizung 
        // Übertragen werden sie per mqtt nach tele.SENSOR im JSON-Format
        
        const idJson = 'mqtt.0.Heizung.Sensor.Fußbodenheizung_Obergeschoß_B596D3.tele.SENSOR'; // Pfad für mqtt-Daten
        
        const path = '0_userdata.0.Fußbodenheizung.Obergeschoß.';                              // Pfad für Datenpunkte
        
        const rooms = {                                                                        // ID Zuordnung für Datenpunkte
            "3C2AF6491BC1": 'Bad_Vorlauf',
            "3C56F649A2C6": 'Bad_Ruecklauf',
            "3C8AF6493673": 'Buero_Vorlauf',
            "3CADF649DB07": 'Buero_Ruecklauf',
            "3CFBE3814518": 'Schlafzimmer_Eltern_Vorlauf'
           // "xxxxxxxxxx": 'Schlafzimmer_Eltern_Ruecklauf',
           // "XXXXXXXXXX": 'Schlafzimmer_Leo_Vorlauf',
           // "xxxxxxxxxx": 'Schlafzimmer_Leo_Ruecklauf'
        };
        
        on(idJson, function(dp){                                                               
            const obj = JSON.parse(dp.state.val); 
            for(let i = 1; i <= 5; i++) {
                let id = obj["DS18B20-" + i].Id;
                setState(path + rooms[id] + '.Temperatur', obj["DS18B20-" + i].Temperature, true)
            }
        });
        
        

        In Zukunft sollen es 8 Werte werden. Die fehlenden habe ich deshalb auskommentiert.

        Schönen Abend und LG aus dem Sauerland
        Jörg

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #16

        @c3b sagte: Schöner wäre unter dem Ordner Fußbodenheizung/Obergeschoß alle Werte mit Namen zu sehen.

        Dann lass einfach '.Temperatur' weg.

                setState(path + rooms[id], obj["DS18B20-" + i].Temperature, true);
        

        und weise den Ordnern (z.B. "Bad_Vorlauf") jeweils ein Datenpunkt-Objekt zu. Die "Temperatur"-Datenpunkte löschen.

        Anmerkung: Die Vorlauftemperaturen sollten sich nicht unterscheiden.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        C 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @c3b sagte: Schöner wäre unter dem Ordner Fußbodenheizung/Obergeschoß alle Werte mit Namen zu sehen.

          Dann lass einfach '.Temperatur' weg.

                  setState(path + rooms[id], obj["DS18B20-" + i].Temperature, true);
          

          und weise den Ordnern (z.B. "Bad_Vorlauf") jeweils ein Datenpunkt-Objekt zu. Die "Temperatur"-Datenpunkte löschen.

          Anmerkung: Die Vorlauftemperaturen sollten sich nicht unterscheiden.

          C Offline
          C Offline
          c3b
          schrieb am zuletzt editiert von
          #17

          @paul53 Hi

          Danke für die Info. Jetzt läuft es so, wie ich möchte.

          // Temperatursensorwerte der Fußbodenheizung 
          // Übertragen werden sie per mqtt nach tele.SENSOR im JSON-Format
          
          const idJson = 'mqtt.0.Heizung.Sensor.Fußbodenheizung_Obergeschoß_B596D3.tele.SENSOR'; // Pfad für mqtt-Daten
          
          const path = '0_userdata.0.Fußbodenheizung.Obergeschoß.';                              // Pfad für Datenpunkte
          
          const rooms = {                                                                        // ID Zuordnung für Datenpunkte
              "3C2AF6491BC1": 'Bad_Vorlauf',
              "3C56F649A2C6": 'Bad_Ruecklauf',
              "3C8AF6493673": 'Buero_Vorlauf',
              "3CADF649DB07": 'Buero_Ruecklauf',
              "3CFBE3814518": 'Schlafzimmer_Eltern_Vorlauf'
             // "xxxxxxxxxx": 'Schlafzimmer_Eltern_Ruecklauf',
             // "XXXXXXXXXX": 'Schlafzimmer_Leo_Vorlauf',
             // "xxxxxxxxxx": 'Schlafzimmer_Leo_Ruecklauf'
          };
          
          on(idJson, function(dp){                                                               
              const obj = JSON.parse(dp.state.val); 
              for(let i = 1; i <= 5; i++) {
                  let id = obj["DS18B20-" + i].Id;
                  setState(path + rooms[id] , obj["DS18B20-" + i].Temperature, true)
              }
          });
          

          Datenpunkte sind alle in einem Ordner.
          Mit der Vorlauf- und Rücklauftemperatur wirst du sicher recht haben. Ich hatte gedacht bei einer Differenz von null gibt die Leitung keine Wärme mehr ab und somit sollte die Raumtemperatur gleich der Rücklauftemperatur sein. Da das System aber sehr sehr träge ist und die Sensoren eine Abweichung bis zu 0,8°C haben kann ich das wohl vergessen. Das NSPanel zeigt als Raumtemperatur auch eher eine Fahrkarte an. Bleibt wohl doch nur ein separater Raumfühler. Für die VIS ist es aber auf jeden Fall etwas. Bringt vielleicht nichts, sieht aber Geil aus. 😊

          Danke noch einmal und LG aus dem Sauerland

          1 Antwort Letzte Antwort
          0
          • bahnuhrB bahnuhr

            @segway
            66c14df5-fc18-4a61-b06d-c7e74a44dff8-image.png

            und noch einige pdf
            Temperatursensor (DS18B20) - Arduino Datenlogger mit Stockwaage für Imker.pdf
            DS18x20 Temperatursensor - Tasmota.pdf
            DS18B20 Temperatur Shield.pdf

            Man beachte die Begrenzung auf 8 Sensoren.

            SegwayS Offline
            SegwayS Offline
            Segway
            schrieb am zuletzt editiert von
            #18

            @bahnuhr sagte in Mehrere DS18B20 aus mqtt auflösen:

            Man beachte die Begrenzung auf 8 Sensoren.

            Gäbe es auch eine I2C Lösung . Da gingen doch mehr als 8 Sensoren oder liege ich da falsch?

            Gruß Dirk
            Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

            bahnuhrB 1 Antwort Letzte Antwort
            0
            • SegwayS Segway

              @bahnuhr sagte in Mehrere DS18B20 aus mqtt auflösen:

              Man beachte die Begrenzung auf 8 Sensoren.

              Gäbe es auch eine I2C Lösung . Da gingen doch mehr als 8 Sensoren oder liege ich da falsch?

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

              @segway sagte in Mehrere DS18B20 aus mqtt auflösen:

              @bahnuhr sagte in Mehrere DS18B20 aus mqtt auflösen:

              Man beachte die Begrenzung auf 8 Sensoren.

              Gäbe es auch eine I2C Lösung . Da gingen doch mehr als 8 Sensoren oder liege ich da falsch?

              Hast du meine eingestellten pdf gelesen.
              Dort steht die eingeschränkte Lösung drin.


              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

              SegwayS 1 Antwort Letzte Antwort
              0
              • bahnuhrB bahnuhr

                @segway sagte in Mehrere DS18B20 aus mqtt auflösen:

                @bahnuhr sagte in Mehrere DS18B20 aus mqtt auflösen:

                Man beachte die Begrenzung auf 8 Sensoren.

                Gäbe es auch eine I2C Lösung . Da gingen doch mehr als 8 Sensoren oder liege ich da falsch?

                Hast du meine eingestellten pdf gelesen.
                Dort steht die eingeschränkte Lösung drin.

                SegwayS Offline
                SegwayS Offline
                Segway
                schrieb am zuletzt editiert von
                #20

                @bahnuhr sagte in Mehrere DS18B20 aus mqtt auflösen:

                Hast du meine eingestellten pdf gelesen.
                Dort steht die eingeschränkte Lösung drin.

                Ja sicher, und es ist klar warum bei 1-wire das auf 8 Sensoren (respektive 11) begrenzt ist.
                Das war aber nicht meine Frage.
                Ist I2C eine Alternative und hat die 8er Begrenzung nicht ? Laut Beschreibungen gibt es diese Begrenzung dort nicht.

                Gruß Dirk
                Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                bahnuhrB 1 Antwort Letzte Antwort
                0
                • SegwayS Segway

                  @bahnuhr sagte in Mehrere DS18B20 aus mqtt auflösen:

                  Hast du meine eingestellten pdf gelesen.
                  Dort steht die eingeschränkte Lösung drin.

                  Ja sicher, und es ist klar warum bei 1-wire das auf 8 Sensoren (respektive 11) begrenzt ist.
                  Das war aber nicht meine Frage.
                  Ist I2C eine Alternative und hat die 8er Begrenzung nicht ? Laut Beschreibungen gibt es diese Begrenzung dort nicht.

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

                  @segway sagte in Mehrere DS18B20 aus mqtt auflösen:

                  Ist I2C eine Alternative

                  Hab ich nie probiert.
                  Ich habe zufällig genau 8 Sensoren da dran.


                  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

                  1 Antwort Letzte Antwort
                  0
                  • bahnuhrB Online
                    bahnuhrB Online
                    bahnuhr
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #22

                    @Segway

                    Braucht es nicht für I2C einen SCL und SDA.
                    Und bei den DS18B20 hast du aber nur 1 Datenkabel.


                    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

                    SegwayS 1 Antwort Letzte Antwort
                    0
                    • bahnuhrB bahnuhr

                      @Segway

                      Braucht es nicht für I2C einen SCL und SDA.
                      Und bei den DS18B20 hast du aber nur 1 Datenkabel.

                      SegwayS Offline
                      SegwayS Offline
                      Segway
                      schrieb am zuletzt editiert von
                      #23

                      @bahnuhr sagte in Mehrere DS18B20 aus mqtt auflösen:

                      @Segway

                      Braucht es nicht für I2C einen SCL und SDA.
                      Und bei den DS18B20 hast du aber nur 1 Datenkabel.

                      Ja genau, für I2C braucht man SCL und SDA. Da wird man wohl einen BME280 nehmen müssen, aber so viel teurer sind die ja nicht.

                      Gruß Dirk
                      Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                      1 Antwort Letzte Antwort
                      0
                      • C Offline
                        C Offline
                        c3b
                        schrieb am zuletzt editiert von c3b
                        #24

                        Hi Leutz

                        Ich nochmal. Die Temp-Sensoren funktionieren und die Werte kommen per json als mqtt in den iobroker. Dank dem Skript habe ich alle Temperaturen incl. Namen unter 0.user.

                        Jetz habe ich mir gedacht ich hänge noch 2 Relais mit an den ESP (Ziel sind bis zu 8 Relais) . Ich bekomme sie configuriert und kann sie auch im web-Interface ein- und ausschalten.
                        Im iobroker unter stat werden beide Relais als power1 und power2 aufgefürt. Unter cmd steht allerdings nur einmal power. Hiermit kann ich durch ändern der Werte aber nur power1 schalten.

                        Wie kann ich das zweite bzw. weitere Relais übe den iobroker schalten?

                        LG aus dem Sauerland

                        Jörg

                        1 Antwort Letzte Antwort
                        0
                        • mickymM Offline
                          mickymM Offline
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von
                          #25

                          @c3b Normalerweise kannst Du die Tasmota-Befehle als eigene Datenpunkte unter cmnd anlegen. Also Power1 und Power2 einfach unter cmnd anlegen.

                          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.

                          C 1 Antwort Letzte Antwort
                          0
                          • mickymM mickym

                            @c3b Normalerweise kannst Du die Tasmota-Befehle als eigene Datenpunkte unter cmnd anlegen. Also Power1 und Power2 einfach unter cmnd anlegen.

                            C Offline
                            C Offline
                            c3b
                            schrieb am zuletzt editiert von
                            #26

                            @mickym Hallo

                            Und genau das habe ich gesucht.

                            Funktioniert. Prima. Danke.

                            LG aus dem Sauerland

                            Jörg

                            1 Antwort Letzte Antwort
                            0
                            • C Offline
                              C Offline
                              c3b
                              schrieb am zuletzt editiert von
                              #27

                              Hi Leutz

                              Ich noch mal. Nachdem das skript oben ganau das tut, was es soll habe ich einen weiteren D1 Mini mit 8 Sensoren gebaut. Skript angepasst, Datenpunkte erstellt, ...
                              Und, tada alles top.

                              Jetzt ist mir aber aufgefallen, dass die Daten (Temperaturen) sich nicht zeitnah ändern.

                              Ich hatte irgendetwas von einer Intervall einstellung gelesen. Ich finde es aber nicht mehr. Der D1 Mini ist mit Tasmota geflasht. Version 13.3.0.

                              Kann mir da jemand weiterhelfen? Mir würde alle 60 Sekunden reichen. Evtl. auch noch länger.

                              LG aus dem Sauerland

                              Jörg

                              1 Antwort Letzte Antwort
                              0
                              • Marc BergM Online
                                Marc BergM Online
                                Marc Berg
                                Most Active
                                schrieb am zuletzt editiert von
                                #28

                                @c3b sagte in Mehrere DS18B20 aus mqtt auflösen:

                                Kann mir da jemand weiterhelfen? Mir würde alle 60 Sekunden reichen. Evtl. auch noch länger.

                                das lässt sich unter Logging Einstellungen (in Sekunden) definieren:

                                bd645871-f891-4f23-b9e5-63c55a308b07-grafik.png

                                NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

                                Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                                Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                                C 1 Antwort Letzte Antwort
                                0
                                • Marc BergM Marc Berg

                                  @c3b sagte in Mehrere DS18B20 aus mqtt auflösen:

                                  Kann mir da jemand weiterhelfen? Mir würde alle 60 Sekunden reichen. Evtl. auch noch länger.

                                  das lässt sich unter Logging Einstellungen (in Sekunden) definieren:

                                  bd645871-f891-4f23-b9e5-63c55a308b07-grafik.png

                                  C Offline
                                  C Offline
                                  c3b
                                  schrieb am zuletzt editiert von
                                  #29

                                  @marc-berg Perfekt. Genau das habe ich gesucht. Ich glaube ich werde doch alt. 😕
                                  Danke Dir.

                                  LG aus dem Sauerland

                                  Jörg

                                  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

                                  485

                                  Online

                                  32.8k

                                  Benutzer

                                  82.8k

                                  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