Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter DS18B20 v1.1.x

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter DS18B20 v1.1.x

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

      Hallo zusammen,

      ich habe den neuen Adapter DS18B20 erstellt.
      Dieser Adapter bindet, beispielsweise auf einem Raspberry Pi, direkt die gleichnamigen 1-Wire Temperatursensoren in ioBroker ein.

      DS18B20

      Der Adapter ist in der Lage die gängigen Fehler des Sensors (Checksumme, 85°C, -127°C) zu erkennen und entsprechend zu reagieren (Logmeldungen, ggf. Null-Ersatzwerte).

      Alle angeschlossenen Sensoren können über die Sensoren Suchen Funktion auch direkt automatisch erkannt werden.
      Zudem ist es möglich für jeden einzelnen Sensor einen eigenen Abfrageintervall, einen Faktor und Offset, sowie die Anzahl der gewünschten Dezimalstellen anzugeben.

      Konfiguration

      Weiterhin ist eine Verwendung in Skripten möglich.
      Ein Skript kann das Lesen aller Sensoren oder eines bestimmten Sensors antriggern, einen Sensor direkt abfragen und die damit die aktuelle Temperatur erhalten oder nach verfügbaren (angeschlossenen) Sensoren suchen.

      Eine Ausführliche Beschreibung ist im GitHub Repo zu finden.

      Installiert werden kann der Adapter aktuell über das Latest-Repository, oder über den Link https://github.com/crycode-de/ioBroker.ds18b20.


      Verbesserungsvorschläge und ggf. Bug-Meldungen sind gerne willkommen. 🙂

      Viel Spaß beim Testen!

      1 Reply Last reply Reply Quote 3
      • A
        Alexhouse last edited by

        Guten Tag,

        ich habe diesen Adapter installiert.

        Leider taucht der Adapter in den Instanzen nicht auf.
        Was mache ich falsch?

        Gruß Alex

        crycode 1 Reply Last reply Reply Quote 0
        • crycode
          crycode Developer @Alexhouse last edited by

          @Alexhouse Gab es bei der Installation irgendwelche Fehlermeldungen?
          Wenn nicht müsste der Adapter direkt bei den Instanzen auftauchen. Ansonsten vlt. die Ansicht ein mal neu laden.

          1 Reply Last reply Reply Quote 0
          • A
            Alexhouse last edited by

            Nein, es gab keine Fehlermeldung.

            Neugestartet habe ich Ihn auch schon.

            2.PNG 1.PNG

            crycode 1 Reply Last reply Reply Quote 0
            • crycode
              crycode Developer @Alexhouse last edited by

              Versuch mal über das + rechts eine Instanz hinzuzufügen.

              1 Reply Last reply Reply Quote 0
              • A
                Alexhouse last edited by

                Treffer!:-)

                Danke für die Hilfe.

                Gruß Alex

                1 Reply Last reply Reply Quote 1
                • D
                  daniel_iobroker last edited by

                  @crycode

                  Danke für diesen Adapter. Hab ihn heute installiert und mich an die Anleitung von dir gehalten. Die ist wirklich super geschrieben. Alles klappte auf Anhieb.

                  Das einzige, was noch nicht ganz klappt, sind die Anzahl der Dezimalstellen. Hab zuerst die Standardeinstellung gelassen. Das waren 2 Dezimalstellen. Bei mir wird aber nur eine Nachkommastelle angezeigt. Wenn ich im Adapter die Dezimalstellen auf 3 erhöhe, wird trotzdem nur eine angezeigt.
                  Weißt du, was ich noch machen könnte?

                  crycode 1 Reply Last reply Reply Quote 0
                  • crycode
                    crycode Developer @daniel_iobroker last edited by

                    @daniel_iobroker
                    Wenn die aktuelle Temperatur z.B. genau 20,1 °C beträgt, dann wird auch bei zwei gewählten Dezimalstellen 20,1 als Wert in den State geschrieben. Dies hängt damit zusammen, dass der Wert als Zahl und nicht als Text gespeichert wird. Wenn hingegen vom Sensor z.B. 20,123 °C gemeldet wird, dann wird dieser Wert bei zwei Dezimalstellen auf 20,12 °C gerundet.
                    Für eine Anzeige mit immer zwei Dezimalstellen müsste das im VIS entsprechend umgesetzt werden. Beispielsweise beim "Number" Widget ist dies durch die Option "Zeichen nach dem Komma" möglich.

                    Zum Vergleich, was der Sensor selbst liefert, kannst du in einem Terminal mittels cat /sys/bus/w1/devices/<Sensor-Adresse>/w1_slave den Sensor manuell abfragen. Die Ausgabe sieht dann beispielsweise so aus:

                    58 01 4b 46 7f ff 08 10 f9 : crc=f9 YES
                    58 01 4b 46 7f ff 08 10 f9 t=21500
                    

                    Dabei ist t=21500 die aktuelle Temperatur von 21,500 °C, was der Adapter (auch mit zwei gewählten Dezimalstellen) als 21,5 in den State schreiben würde.

                    Vielleicht noch zu erwähnen wäre, dass nur die Sensoren vom Typ DS18B20 überhaupt über eine entsprechende Genauigkeit verfügen. Sensoren vom Typ DS18S20 oder DS1820 können genauso verwendet werden, verfügen aber eine deutlich geringere Auflösung (z.B. nur 0,5er Schritte).

                    1 Reply Last reply Reply Quote 0
                    • D
                      daniel_iobroker last edited by

                      @crycode
                      Danke für deine Antwort.
                      Ich habe natürlich vorher kontrolliert, ob der Sensor Werte überträgt, die auch nach der Kommastelle nicht 0 sind. Also in meinem Fall wurde der Sensor mit dem kompletten Wert ausgelesen. Der Adapter selbst zeigt trotzdem nur eine Dezimalstelle an.

                      Hab jetzt extra noch probiert, dass Objekt in der VIS anzuzeigen. Es bleibt aber bei einer Stelle. Wenn ich jetzt aber die Nachkommastelle in Vis erhöhe, werden nur 0er angehängt. Also ist die Information im Objekt nicht vorhanden.

                      crycode 1 Reply Last reply Reply Quote 0
                      • crycode
                        crycode Developer @daniel_iobroker last edited by

                        @daniel_iobroker
                        Ok, das ist dann seltsam...
                        Kannst du ein mal die Ausgabe von cat /sys/bus/w1/devices/<Sensor-Adresse>/w1_slave posten?
                        Dann kann ich versuchen das Problem mit deinen Sensordaten nachzuvollziehen.

                        1 Reply Last reply Reply Quote 0
                        • D
                          daniel_iobroker last edited by

                          @crycode
                          ja, hab mich auch schon gefragt, was es überhaupt sein könnte.
                          Hier die gewünschte Ausgabe:
                          pi@raspberrypi:/sys/bus/w1/devices $ cat 28-1c8bf31d64ff/w1_slave
                          74 01 55 00 7f ff 0c 10 68 : crc=68 YES
                          74 01 55 00 7f ff 0c 10 68 t=23250

                          Müsste als Objekt ja eigentlich jetzt 23,25°C anzeigen. Im Objekt werden aber 23,3°C angezeigt. Also aufgerundet. Eingestellt sind bei mir im Adapter 3 Dezimalstellen

                          crycode 1 Reply Last reply Reply Quote 0
                          • crycode
                            crycode Developer @daniel_iobroker last edited by

                            @daniel_iobroker danke, ich mach mich mal auf die Suche nach dem Fehler und einer Lösung. 🙂

                            1 Reply Last reply Reply Quote 0
                            • crycode
                              crycode Developer last edited by

                              Ab sofort ist die Version 1.1.0 über GitHub und NPM verfügbar. Ab morgen sollte sie dann auch direkt über das latest-Repo zum Update bereit stehen.

                              Neu in dieser Version:

                              • Eigene Implementierung des Lesens der Sensordaten. (lief zuvor über das NPM-Modul ds18b20)
                              • Bug beim Runden auf die gewählte Anzahl an Dezimalstellen behoben.
                              • Systempfad der 1-Wire Geräte ist nun über die Konfiguration anpassbar.
                              1 Reply Last reply Reply Quote 0
                              • D
                                daniel_iobroker last edited by

                                @crycode
                                Danke für die rasche Behebung. Habe gerade das Update geladen. Jetzt wird der Wert korrekt auf die eingestellte Dezimalstelle dargestellt / gerundet.

                                Eine Frage noch. Wie viele Sensoren können denn ausgelesen werden? Ich habe mal in irgendeiner Doku was von 10Stk. gelesen. Dabei ging es um das auslesen der ds18b20 Sensoren über den Raspi. Könnte natürlich sein, dass das inzwischen erhöht worden ist? Ich weiß aber auch, dass es hier einen workaround gab, mit dem dann mehr auslesen ging.

                                Bei mir geht es um ca. 30 Stück. Möchte den Heizkreisverteiler mit den Sensoren vollpacken. Also für jeden Heizkreis (Fußbodenheizung) 2 Stück => 1 Vorlauf, 1 Rücklauf. Dafür wäre der Adapter einfach perfekt 🙂

                                crycode 1 Reply Last reply Reply Quote 0
                                • crycode
                                  crycode Developer @daniel_iobroker last edited by

                                  @daniel_iobroker
                                  Soweit ich weiß gibt es da keine softwareseitigen Beschränkungen.
                                  Was bei zunehmender Sensoranzahl jedoch immer entscheidender wird, sind die elektrischen Eigenschaften. Der 1-Wire Bus sollte Linear mit möglichst kurzen Abzweigungen zu den einzelnen Sensoren geführt werden. Je länger die einzelnen Abzweige von der Hauptleitung sowie die Leitungen überhaupt sind, desto mehr Störungen können auftreten und den Bus stören.

                                  Auf dem Raspi gibt es noch die Möglichkeit mehrere 1-Wire Busse über unterschiedliche GPIOs zu verwenden und somit die Sensoren quasi in Gruppen aufzuteilen.
                                  Dazu einfach in der Datei /boot/config.txt die Zeile mit dem entsprechenden Overlay mehrfach hinzufügen und dabei den GPIO anpassen:

                                  dtoverlay=w1-gpio,gpiopin=4
                                  dtoverlay=w1-gpio,gpiopin=17
                                  dtoverlay=w1-gpio,gpiopin=27
                                  

                                  Im System werden dann unter /sys/bus/w1/devices mehrere w1_bus_masterX angelegt.
                                  Der Adapter erkennt aktuell bei der Suche nach Sensoren nur Sensoren am w1_bus_master1 automatisch. Du kannst aber trotzdem die Adressen per Hand in der Liste hinzufügen und damit dann alle Sensoren auslesen.

                                  1 Reply Last reply Reply Quote 0
                                  • SMS
                                    SMS last edited by

                                    Hi
                                    Ich habe leider auch ein Problem mit dem Adapter (heute installiert)

                                    Über den Pi bekomme ich alle Sensoren angezeigt und ausgelesen, nur der Adapter bekommt keine Verbindung:

                                    ds18b20_1.JPG

                                    Über Sensoren suchen konnten die 9 Sensoren automatisch gefunden werden:

                                    ds18b20_2.JPG

                                    Wo liegt der Fehler?

                                    Danke!

                                    crycode 1 Reply Last reply Reply Quote 0
                                    • crycode
                                      crycode Developer @SMS last edited by

                                      @SMS Welchen Sensortyp verwendest du genau?
                                      Der Adapter erwartet, dass das Byte 5 der Rohdaten 0xFF entspricht. Ist dies nicht der Fall, so wie bei dir (0xA5), dann kommt der Communication Error.
                                      Laut Datenblatt sollte das Byte 5 immer 0xFF sein, daher die Frage nach dem Sensortyp.

                                      1 Reply Last reply Reply Quote 0
                                      • SMS
                                        SMS last edited by

                                        DS18B20
                                        Das hier wird mir angezeigt:

                                        pi@ioBroker-RasPi4:~ $ cat /sys/bus/w1/devices/28-0319a2795cd5/w1_slave
                                        b3 00 55 05 7f a5 a5 66 e4 : crc=e4 YES
                                        b3 00 55 05 7f a5 a5 66 e4 t=11187
                                        
                                        crycode 1 Reply Last reply Reply Quote 0
                                        • crycode
                                          crycode Developer @SMS last edited by

                                          @SMS Das widerspricht den Infos aus dem Datenblatt, aber dann gibt es scheinbar Sensoren, die in dieses Byte etwas anderes schreiben.
                                          Ich werde den Adapter entsprechend anpassen.

                                          1 Reply Last reply Reply Quote 0
                                          • SMS
                                            SMS last edited by

                                            Ich muss dazu sagen das es auf einem PI 1 und anderen DS18B20 Sensoren funktioniert hat.
                                            Falls dir der Parser Adapter was sagt, da hatten die gleichen Sensoren vor einer Woche noch funktioniert, seit Sonntag aber nicht mehr. In der Konsole bekomme ich sie angezeigt und ausgelesen …
                                            Jetzt nutze ich einen Pi 4

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            587
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter ds18b20 test
                                            13
                                            96
                                            10695
                                            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