NEWS
Reverse engineering SHT21-Modul // Temp. & Feucht.sensor
-
nö, du sollst messen ob die Leiterbahnen so verbunden sind.
-
@ralla66 Macht Sinn!
Habe jetzt gemessen:
1-F: Kontakt
2-B: Kontakt
5-G: Kontakt
6-H:KontaktAußerdem:
D-LED rechte Seite: 100 Ohm
B-LED linke Seite: KontaktErgo:
B: Ground
G: VCC
F: SDA
H: SCLTasmota 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?
-
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 -
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.
-
@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? -
@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 -
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 SDAsonst die Beschaltung prüfen
-
@ralla66 said in Reverse engineering SHT21-Modul // Temp. & Feucht.sensor:
zumindest sollte Tasmota Sensors das Device erkennen.
Kommt die gerade zum Einsatz @Ralf7938
https://tasmota.github.io/docs/SHT30/#tasmota-settings
Vermute diese Konfig greift sonst ins Leere
-
@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-filehab aber nicht so tief da reingeschaut
-
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.
-
@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 frechdiese sollten passen ->
-
@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.
-
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
-
@ralf7938 said 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.
Schön, dass wir jetzt wissen dürfen dass Du einen ESP8266 verwendest zum Test. Beim Helligkeitssensor muß ich leider wieder raten. Ist es ein BH1750 dann würde der Vorgang und die Schlussfolgerung sinnig klingen da auch der BH1750 Tasmota in der "sensors" Variante vorraussetzt und meine logische Glaskugel sagt, dass du diese dann einsetzt. Demnach liegt bei dem SHT21 der Lüftung noch eine Besonderheit oder Fehlfunktion vor, die es zu finden gilt.
Nuja, warum startest Du nicht einfach mit 4 angeschlossenen Dupontkabeln am SHT21 an Deiner Lüftung? Funktioniert das, ist der Zielzustand gefunden. Aber das könnte Testschritt 2 vor Testschritt 1 sein und warum der Sensor nicht am ESP läuft bisher unidentifiziert.
-
@ralf7938 said in Reverse engineering SHT21-Modul // Temp. & Feucht.sensor:
Ergo:
B: Ground
G: VCC
F: SDA
H: SCLUnd hier ist wohl ein Dreher drin, probiere mal:
A: Ground
B: VCC
G: SDA
H: SCLbasierend auf der Grundfunktion des SHT21 mit nur einem PullUp (10kOhm) am SDA:
-
@peterfido said in Reverse engineering SHT21-Modul // Temp. & Feucht.sensor:
@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.
Muss dir leider zustimmen, dass die Fotos echt schlecht sind. Da der Sensor aber so klein ist, bekomme ich das leider nicht besser hin.
@dieter_p said in Reverse engineering SHT21-Modul // Temp. & Feucht.sensor:
Schön, dass wir jetzt wissen dürfen dass Du einen ESP8266 verwendest zum Test. Beim Helligkeitssensor muß ich leider wieder raten. Ist es ein BH1750 dann würde der Vorgang und die Schlussfolgerung sinnig klingen da auch der BH1750 Tasmota in der "sensors" Variante vorraussetzt und meine logische Glaskugel sagt, dass du diese dann einsetzt. Demnach liegt bei dem SHT21 der Lüftung noch eine Besonderheit oder Fehlfunktion vor, die es zu finden gilt.
Korrekt, genaugenommen BH1750FVJ mit Tasmota_sensors binary. Brauch ihr noch zusätzliche Infos?
@dieter_p said in Reverse engineering SHT21-Modul // Temp. & Feucht.sensor:
Und hier ist wohl ein Dreher drin, probiere mal:
A: Ground
B: VCC
G: SDA
H: SCLDanke für den Hinweis, leider funktioniert das auch nicht. Was veranlasst dich zu der Vermutung? Das Foto? Hatte beim Messen die von mir gepostete Zuordnung (reproduzierbar).
Bzgl. der Idee mit den Jumperkabeln habe ich erneut praktische Probleme. Die Standard Jumper-Stecker passen leider nicht in die Buchse der Lüftung. Neben den 2,54mm vs. 2mm habe ich also auch das Problem, dass die Stecker einen zu großen Durchmesser haben. Mein Ansatz wäre eine 2x4 auf 2mm Stiftleiste zu kaufen und da dann die Kabel anlöten. Hat jemand eine elegantere Idee?
-
@ralf7938 said in Reverse engineering SHT21-Modul // Temp. & Feucht.sensor:
Das Foto? Hatte beim Messen die von mir gepostete Zuordnung (reproduzierbar).
Ok, verstanden, also sind die oben gezeigten Bilder damit hinfällig. Und das ist unser Status Quo:
Was ist mit Kontakt A, C, E haben die irgendwohin oder zueinander eine Ohmische Verbindung?
-
@dieter_p
Hab jetzt nochmal systematisch durchgemessen (sorry für die Anpassung!). Bin heute ziemlich durch. Muss das nochmal konzentriert am WE alles prüfen. Aktueller Zwischenstand:An den Pins:
H-F: 5,7k Ohm
B-H: 3,2 k OhmZu den Pads (nach meinem Verständnis nicht beschaltet. Vlt für spätere Erweiterungen?!)
B-Pad2: Kontakt
C-Pad1: Kontakt
H-Pad3: Kontakt
Pad2-Pad3: 3,2k Ohm (Logisch, ist auch Pin B auf H!)D- Pad 5 (Oben bei LED)
C - Widerstand unten (10kOhm in Grün markiert)
E - Widerstand oben (10kOhm in Grün markiert)
Aber: C auf E kein Widerstand bzw. Kontakt! Hat jemand eine Erklärung?!Vom Chip:
2-F: 4,3k Ohm
2-H: 3,2k Ohm
2-G: 4,3k Ohm1-F: Kontakt (SDA)
6-G: Kontakt (SCL)
2-B: Kontakt (GND)
5-H: Kontakt (VCC)5-G: 5,8k Ohm
5-B: 3,2k OhmBin jetzt erstmal bis zum WE weg und melde mich dann nochmal. Danke euch schonmal!
-
Habs mal zusammengekritzelt, was ich mitgenommen hab:
Deine Zuordnung der Pads verstehe ich noch nicht ganz. Sehe aber 4 Pads wo vielleicht ein SSOT-24 Spannungsregler hätte mal drauf positioniert sein können.
Bzgl. Pin C und E und dem "10kOhm" scheint es dann keiner zu sein und wohl eher ein Kondensator für den nicht vorhanden Spannungstegler ... obwohl es mch stört warum er dann noch vorhanden ist. Um das zu messen müßte man ihn auslöten.
Weitere Widerstände sehe ich nicht außer dem Vorwiderstand der LED.
Lange Rede kurzer Sinn. Die Kontakte des SHT21 sind direkt mit VCC,GND,SDA und SCL verbunden. Wie zuvor bereits festgestellt. VCC mit 3V unkritisch insofern sollte dieser Sensor am ESP funktionieren.
-
SSOT oder USP-4
2 kleine Leerpads dann Cergibt an Pins:
SCL, SDA, VDD 3,3 V, VSS
CE, Out 3,3 V, IN VDD, VSS