Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Reverse engineering SHT21-Modul // Temp. & Feucht.sensor

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Reverse engineering SHT21-Modul // Temp. & Feucht.sensor

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

      Hallo zusammen,

      ich habe einen Temperatur und Luftfeuchtigkeitssensor Sensor, für den der Hersteller meiner dezentralen Lüftungsanlage 80€ verlangt.
      Da ich diesen Sensor für jedes Stockwerk, also noch 2 Mal benötige, stelle ich mir die Frage, ob ich das nicht einfach aus ein paar Komponenten selber bauen kann.

      Die Beschriftung ist super klein, aber ich meine die Beschriftung wie folgt entziffern zu können:

      SHT21
      DFHBU

      Demnach scheint dies ein SHT21 auf einem Board zu sein. Die zweite Zeile ist vermutlich die Seriennummer?!
      Auf dem Board scheint der eigentliche SHT21, eine LED und drei Widerstände verlötet zu sein. Es gibt 2x4 Anschlusspins. Mich irritiert, dass die bisher gefundenen SHT21-Sensoren durch den I²C Anschluss normalerweise 4 Pins haben. Sind die übrigen Pins ggf. nicht verdrahtet? oder lediglich für die LED?!
      Wie finde ich heraus welche Pin welche Funktion hat?

      Anbei ein paar Fotos. Sorry für die Qualität... das Ding ist echt klein! 🙂

      Wie ist eure Einschätzung wie aussichtsreich das ist dieses relativ einfache Bauteil nachzubauen?

      Danke für eure Einschätzungen!
      20240412_162158.jpg 20240412_162225.jpg

      Ralla66 OliverIO P 3 Replies Last reply Reply Quote 0
      • Ralla66
        Ralla66 Most Active @Ralf7938 last edited by

        @ralf7938 sagte in Reverse engineering SHT21-Modul // Temp. & Feucht.sensor:

        normalerweise 4 Pins haben.

        nach Datasheet

        sht21.jpg

        R 1 Reply Last reply Reply Quote 0
        • R
          Ralf7938 @Ralla66 last edited by

          @ralla66 Richtig, das ist ja der "nackte" Sensor. Das Board, auf dem eine LED, ca. 3 Widerstände +X noch aufgelötet sind hat dann wiederum 8 Pins. Boards mit I²C Schnittstelle (wie z.B. hier ) haben aber nur 4 Pins.

          Gibt es Möglichkeiten herauszufinden welche Schnittstelle der bestehende Sensor nutzt, bzw. die Vermutung zu bestätigen, dass es sich um I²C handelt? Wie kann ich da die Pinbelegung rausfinden, wenn die nicht beschriftet ist?

          Ralla66 D 3 Replies Last reply Reply Quote 0
          • Ralla66
            Ralla66 Most Active @Ralf7938 last edited by Ralla66

            @ralf7938

            Spannung kannste ermessen mit einem Multimeter,
            den Rest verrät das Datasheet,
            zwischen VSS und VDD ist ein 100nf geschaltet,
            SDA und SCL haben meist einen Pulldown mit 10 K.
            Led könnte son 220 Ohm Widerstand haben.
            Wenn die Pinbelegung bekannt ist an einen Tasmota ESP I2C testen.

            1 Reply Last reply Reply Quote 0
            • D
              Dieter_P @Ralf7938 last edited by Dieter_P

              @ralf7938

              bevor Du dort im Betrieb/Unter Spannung rangehst, Kommst Du doch mit dem Datenblatt schon recht weit. Der Chip ist genormt und auf der Oberseite die Öffnung bedeudet gleichzeitig auf der Unterseite die beiden NC Kontakte. Der Rest genau wie im Foto bereits gezeigt:

              ad2f8cd3-965e-4429-9dd7-11ab2b950123-grafik.png

              VSS/GND sollte sich auch recht einfach mit Multimeter durchmessen lassen (Ohmisch -> nahezu Spannungslos).

              Leiterbahnen auf der Platine kann man auch auf den Fotos erahnen insofern. Kommst Du doch schon weit.

              Eine Frage die sich mir bei der I²C Theorie stellt, ist dass der I²C Bus nicht für große Entfernungen entwickelt wurde und daher vielleicht ungünstg für so eine Hausklimatisierung wo die Sensoren über x0m verteilt sind. Vielleicht eine überholte Anmerkung und es wurde hier irgendwie gelöst.

              Letzlich aber doch alles ziemlich viel Querüberlegung. Mess die Pins Ohmisch durch. Sollte das passen und nichts in die I²C Verbindung noch ergänzend reingebaut sein oder mit anderen Spannungspegeln gerarbeitet werden, kann man diese Platine an Tasmota testen.

              Klappt das, wäre ich optimistisch, dass einfach auch fertige SHT21 Platinen an Deiner Anlage funktionieren.

              1 Reply Last reply Reply Quote 0
              • Ralla66
                Ralla66 Most Active @Ralf7938 last edited by

                @ralf7938

                vermutlich so

                sht21_10.jpg

                R 1 Reply Last reply Reply Quote 0
                • R
                  Ralf7938 @Ralla66 last edited by

                  @ralla66 Ihr Maschinen! Keine Ahnung, mit welchem Superheld ihr verwandt seit, aber wenn ihr echt auf Basis von dem beschi****en Bild und dem Datenblatt die Leiterbahnen rekonstruieren könnt, bin ich echt baff!
                  Vielen Dank schonmal soweit!

                  Dem entnehme ich Folgendes (Pinbezeichnung siehe Bild unten):

                  • Auf der Buchsen-seite (Lüftung) müssten zwischen Pin A und B dann 3,3V anliegen?
                  • Wenn ich (sensor-seitig) zwischen Pin A und F 3,3V anlege müsste die LED dauerhaft leuchten?
                  • An den ESP würde ich lediglich die Pins A, B, G, H anschließen? (G=SDA; H= SLC. Den SHT21 finde ich nicht unter der Tasmota-Kompatibilität, lediglich den SHT1x und SHT30. Ist das ein Problem?)
                  • Die Pins C, D, E sind nach eurem Verständnis nicht belegt?

                  Spiegelt das auch eurer aktuelles Verständnis wider?

                  1713091267143-sht21_10.jpg

                  Ralla66 1 Reply Last reply Reply Quote 0
                  • Ralla66
                    Ralla66 Most Active @Ralf7938 last edited by

                    @ralf7938

                    nö, du sollst messen ob die Leiterbahnen so verbunden sind.

                    R 1 Reply Last reply Reply Quote 0
                    • R
                      Ralf7938 @Ralla66 last edited by

                      @ralla66 Macht Sinn!

                      Habe jetzt gemessen:

                      1-F: Kontakt
                      2-B: Kontakt
                      5-G: Kontakt
                      6-H:Kontakt

                      Außerdem:
                      D-LED rechte Seite: 100 Ohm
                      B-LED linke Seite: Kontakt

                      Ergo:
                      B: Ground
                      G: VCC
                      F: SDA
                      H: SCL

                      Tasmota zeigt leider keinen Sensor an, wenn ich die Pins auf I²C stelle.
                      Wenn ich testweise auf Pin D nochmal 3,3 Volt gebe müsste die LED dauerhaft brennen oder besteht eine realistische Gefahr, dass ich die durchjage (ohne genau zu wissen, welche LED verbaut ist)?

                      Bringt das noch einen Zusatznutzen, wenn ich noch einige Widerstände der Messungen teile?

                      Wie schätzt ihr die Chancen ein, dass ein SHT21 ohne zusätzliche ICs (wie hier) funktioniert? Ist das einen Versuch wert?

                      Ralla66 D 3 Replies Last reply Reply Quote 0
                      • Ralla66
                        Ralla66 Most Active @Ralf7938 last edited by

                        @ralf7938

                        bei Tasmota mußt du erst die Adresse bestimmen mit
                        I2CScan in der Console -> Scan I2C bus and show addresses for found devices
                        und festlegen

                        1 Reply Last reply Reply Quote 0
                        • D
                          Dieter_P @Ralf7938 last edited by Dieter_P

                          @ralf7938

                          Wie zuvor gesagt, Ein Schritt nach dem anderen. Wenn dieser Sensor an Tasmota/ESPEasy funktioniert, ist eindeutig klar das man es mit 0815 Komponenten hinbekommt.

                          Ich würde danach um sicher zu gehen noch einmal den Pin A gegen B messen, welche Versorgungsspannung da ankommt. Dürften maximal 3,6V sein.

                          Die LED wäre mir "Wurst" da sie im Dauerbetrieb eigentlich nur Strom verbraucht.

                          Der 100nF Kondensator stabilisiert/säubert minimal die Versorgungsspannung und hilft bei diesen kleinen Spannung und möglichen recht langen Leitungslängen etwas sicherer den Chip zu betrieben. Wenn es ohne klappt, auch gut möglich, wenn der Chip instabil läuft und Probleme auftreten weißt Du warum.

                          10k Ohm zieht wenn ich es richtig sehe eine Datenleitung auf High um so einen definierten Grundzustand zu haben. Also durchaus auch wichtige Funktion.

                          Aber, wenn Du die Prüfschritte unternommen hast würde ich etwas praktischer werden und geschickt gewählte SHT21 Boards vom Asiamarkt auch wirklich anklemmen. Die Dinger kosten doch nix (1€) und wenn es funktioniert ist alles loko.

                          Mich wundern noch die ganzen zusätzlichen Pins. Sind die evtl. gebrückt (C zu D und E zu F oder ähnlich)? So könnte die Lüftung detektieren, dass ein Sensor angeschlossen ist. Fehlen sie, ist eine Fehlfunktion zu erwarten beim Betrieb an der Lüftung.

                          R 1 Reply Last reply Reply Quote 0
                          • R
                            Ralf7938 @Dieter_P last edited by

                            @dieter_p said in Reverse engineering SHT21-Modul // Temp. & Feucht.sensor:

                            Ich würde danach um sicher zu gehen noch einmal den Pin A gegen B messen, welche Versorgungsspannung da ankommt. Dürften maximal 3,6V sein.

                            Du meinst B zu G, also VCC zu Ground (an der Lüftung), richtig? Hier sind es 3V.

                            @dieter_p said in Reverse engineering SHT21-Modul // Temp. & Feucht.sensor:

                            Mich wundern noch die ganzen zusätzlichen Pins. Sind die evtl. gebrückt (C zu D und E zu F oder ähnlich)? So könnte die Lüftung detektieren, dass ein Sensor angeschlossen ist. Fehlen sie, ist eine Fehlfunktion zu erwarten beim Betrieb an der Lüftung.

                            Würde in der Tat Sinn ergeben, ich messe da aber nix.

                            Nach meiner Messung sind SCL und SDA auf VCC, also high gezogen.

                            In Tasmota wird leider auch bei i2cscan kein Gerät gefunden.

                            08:40:13.157 CMD: i2cscan
                            08:40:13.176 RSL: RESULT = {"I2CScan":"No devices found"}
                            

                            Ich messe nochmal durch, ob ich irgendwo einen Fehler gemacht habe.
                            Ansonsten sind die Chancen, dass ein Chinasensor funktioniert, wenn ich den Orginalen am ESP nicht zum Laufen bekomme verschwindend gering, richtig?

                            D Ralla66 2 Replies Last reply Reply Quote 0
                            • D
                              Dieter_P @Ralf7938 last edited by Dieter_P

                              @ralf7938
                              Ja genau sorry. VCC gegen GND um sicher zu sein nichts zu zerstören, aber mit den 3V klingt das ja gut.

                              Ich hab selbst noch kein I²C Gerät an Tasmota verwendet. Von daher überfragt ob da in der Standardversion alles drin ist. Wenn Du in der GeräteEinstellung aber den SHT konfigurieren kannst, klingt das ja positiv.

                              Ich hab bisher nur ESPEasy für I²C verwendet und da ist per Menü ein I²C Scanner drin, aber letzlich ist das ja nur Bedienkomfort....hoffentlich. vielleicht ist ein Versuch wert. Was nutzt Du ESP8266 oder ein ESP32?

                              Hier unter check the device eine gute Zusammenfassung:
                              https://www.letscontrolit.com/wiki/index.php/Basics:_The_I²C_Bus

                              1 Reply Last reply Reply Quote 0
                              • Ralla66
                                Ralla66 Most Active @Ralf7938 last edited by Ralla66

                                @ralf7938

                                zumindest sollte Tasmota Sensors das Device erkennen. Tasmota kann ja bis 450 Khz I2C.
                                Der SHT21 sollte Adresse 0x40 haben.
                                Bevorzugte GPIOs Esp8266
                                GPIO 1 TX SCL
                                GPIO 3 RX SDA oder
                                GPIO 5 D1 SCL
                                GPIO 4 D2 SDA

                                sonst die Beschaltung prüfen

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  Dieter_P @Ralla66 last edited by Dieter_P

                                  @ralla66 said in Reverse engineering SHT21-Modul // Temp. & Feucht.sensor:

                                  zumindest sollte Tasmota Sensors das Device erkennen.

                                  Kommt die gerade zum Einsatz @Ralf7938
                                  9e8ebe64-9222-4426-b3fd-aff3c1ea660e-grafik.png

                                  https://tasmota.github.io/docs/SHT30/#tasmota-settings

                                  Vermute diese Konfig greift sonst ins Leere
                                  b333c510-f9f0-4ed3-9f69-0ecd6359700b-wemos_sht30_config_marked.png

                                  1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @Ralf7938 last edited by OliverIO

                                    @ralf7938 sagte in Reverse engineering SHT21-Modul // Temp. & Feucht.sensor:

                                    SHT21

                                    warum versuchst du das so aufwändig zu reengineeren?
                                    wenn du sht21 und mqtt bei google eingibst, gibt es einige beispiele.

                                    hier kann man sogar für 3 euro die bestückungsplatine bestellen,
                                    die smartfunktionalität mittels mqtt zum senden an den iobroker erhälst du in verbindung mit einem wlan durch einen esp8266
                                    https://taaralabs.eu/taaraesp-sht21-wifi-humidity-sensor/
                                    https://github.com/TaaraLabs/TaaraESP-SHT21-MQTT?tab=readme-ov-file

                                    hab aber nicht so tief da reingeschaut

                                    R 1 Reply Last reply Reply Quote 0
                                    • R
                                      Ralf7938 @OliverIO last edited by

                                      Habe hier einen I2C-Helligkeitssensor gefunden, den ich erfolgreich an meinem ESP8266 getestet habe. An dem Ende kann das Problem also nicht bestehen.

                                      Werde jetzt nochmal das SHT21-Modul durchmessen, ob ich mich da irgendwo vertan habe. Ich bin nach einiger Recherche/Überlegungen nun guter Dinge, dass ich das Ding an Tasmota zum Laufen kriegen müsste.

                                      Letzte Überlegung, die ich noch hatte, wäre den Sensor 1:1 mit 10 Jumperkabeln mit der Lüftereinheit zu verbinden und dann sukzessive die Pins, die beim durchmessen leer sind wegzulassen bzw. zu trennen. Wenn anschließend noch alles funktioniert, sehe ich, ob die Pins obsolet sind. Praktische Herausforderung dabei ist noch der Umstand, dass der Sensor auf 2mm Stiftleiste steht und ich natürlich nur 2,54mm Jumperkabel habe....

                                      @oliverio said in Reverse engineering SHT21-Modul // Temp. & Feucht.sensor:

                                      warum versuchst du das so aufwändig zu reengineeren?

                                      Weil ich die Lüftung nicht ins smarthome integrieren kann und demnach der Sensor der einzige Weg ist die Lüftung abhängig von Temp bzw. Luftfeuchte zu steuern.

                                      Ralla66 D 2 Replies Last reply Reply Quote 0
                                      • Ralla66
                                        Ralla66 Most Active @Ralf7938 last edited by Ralla66

                                        @ralf7938 sagte in Reverse engineering SHT21-Modul // Temp. & Feucht.sensor:

                                        Habe hier einen I2C-Helligkeitssensor gefunden, den ich erfolgreich an meinem ESP8266 getestet habe. An dem Ende kann das Problem also nicht bestehen.

                                        Nicht ganz richtig, wenn Tasmota zwar das Device mit der Adresse erkennt aber die Daten nicht entschlüsseln kann ist es möglich das Tasmota no Device found ausgibt.

                                        Jumperkabel eine gute Idee, Step by Step entfernen, dann sollten 4 Kabel über bleiben.

                                        Andere Device in Shops, beachte das diese meist ein Spannungsregler sowie Levelshifter
                                        mit verbaut haben. Dies kann so nicht eingesetzt werden.

                                        Mal Tante Google angeworfen, da war für die Platine max Preis 199 Euro.
                                        Sehr frech 🙂

                                        diese sollten passen ->

                                        sht21_1504.jpg

                                        1 Reply Last reply Reply Quote 1
                                        • P
                                          peterfido @Ralf7938 last edited by

                                          @ralf7938 Bessere Fotos wären nicht verkehrt. Möglich, dass da PINs der Erkennung des Moduls dienen. Diese also bestimmte Werte zueinander haben müssen.

                                          1 Reply Last reply Reply Quote 0
                                          • F
                                            Freak last edited by

                                            Hallo Zusammen,
                                            ich kenn mich dazu nicht wirklich aus, aber Matthias hat sowas ähnliches auch schon gemacht. Vielleicht hilft das weiter:

                                            https://haus-automatisierung.com/projekt/2023/06/30/projekt-zehnder-sensor-tauschen.html

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            30
                                            1528
                                            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