Esphome ds18b20

Hallo liebe Leute,
ich nehme den Ball auf. Warum? Ich komme hier nicht weiter! Die Diskussion oben hat mich einiges gelehrt, aber am Ende nicht geholfen. Mich verlässt die langsam die Zuversicht.
Aber von Anfang an.
Ich setze auf dem ESP8266 Wemos Mini D1 auf.
Hier installiere ich folgenden Code:

esphome:
  name: warmwasservorlauf
  platform: ESP8266
  board: d1_mini

wifi:
  ssid: xxx
  password: xxx

logger:

api:

ota:
  platform: esphome
  password: "73f13dedcd205f614159733d2963201d"


captive_portal:

external_components:
  - source: github://nrandell/dallasng

dallasng:
  - pin: GPIO4
    id: hub_1
    update_interval: 10s

# Individual sensors

sensor:
  - platform: dallasng
    dallasng_id: hub_1
    address: 0x25d666720a646128
    name: "Vorlauf HK1"
    resolution: 9  # Lower resolution to reduce noise
    unit_of_measurement: "°C"
    icon: "mdi:thermometer-plus"
    device_class: "temperature"
    state_class: "measurement"
    accuracy_decimals: 2

Der D1-Mini wird im WLAN erfasst :ok_hand:
Den Dallas Themperatursenor (5m lang) habe ich direkt angelötet

(Ich hatte von Problemen mit Kontakten bei der Verwendung von Jumperkabeln und Alligatorklemmen gehört)
Nun bekomme ich folgendes Problem:


Der Sensor wird nicht erkannt ! → Die Adresse des Sensors lag schon vor !?
grafik
Was mir auffällt (und da bin ich unsicher!): Ich habe einen anderen DS18B20er genommen - um Fehler bei Sensor auszuschließen - … die Adresse bleibt aber… liegt da der Hund begraben?
Wenn ja, so komme ich partout nicht mit der o.g. Anleitung klar. Da fehlt mir leider die Erfahrung…
Aber hey: Vielleicht seht ihr hier ein weiteres Problem? Besten Dank für euer Feedback.

Peter

… kleine Anmerkung: Ich hab mir erlaubt einen 10K Widerstand zwischen 5V-Pin und Pin D2 (i.e. GIO4) zu setzen … nennt sich wohl “Pullup-Widerstand”… leider mit folgendem Ergebnis:

Das hat also auch nichts gebracht… :frowning:
Bin ratlos…

lg
Peter

… nehme ich diesen im laufenden Betrieb wieder weg …

sehe ich

Sensor zunächst erkannt
liefert zunächst aber keine Temperatur
und dann kommen auch schon wieder die Fehlermeldungen… :sleepy:

:crayon:by HarryP: Zusammenführung Mehrfachpost (bitte “bearbeiten” Funktion nutzen)

Hallo @Tec-Pete ,

Vergleiche https://community.simon42.com/t/ow2s0smsguard-mit-s0-in-homeassistant/40635/3
Besser 4,7k

Gruß Handfest

1 „Gefällt mir“

Der Widerstand ist notwendig. Insbesondere wenn mehrere DS18B20 betrieben werden!

1 „Gefällt mir“

Der ESP8266 und EPS32 arbeitet mit 3,3V; der Sensor leider mit 5V - manchmal klappt es, manchmal nicht. Dann braucht man einen level converter z.B. 3x Pegelwandler 4 Kanal I2C IIC Logic Level Converter 5V~3.3V für Arduino | eBay . Und man sollte wissen, dass die Mehrzahl der DS18B20 fake sind GitHub - cpetrich/counterfeit_DS18B20: How to tell original from fake DS18B20 temperature sensors. - aber viele ausreichend gut funktionieren.

1 „Gefällt mir“

Ja l, die meisten sind Fakes oder besser Klone. Funktionieren ja meistens.
Laut Datenblatt laufen die ab 3 Volt. Da hätte ich auch nie Probleme. Mit dem Widerstand muss man manchmal experimentieren, bei mehreren Sensoren und längeren Kabeln.

Ich verstehe die Kritik am Video überhaupt nicht! Das Video ist super gut erklärt und jeder kleine Schritt beschrieben. Wenn ich mich recht erinner weist Simon darauf hin, dass er das mit dem Widerstand nicht erklären kann, es bei ihm aber mit dem Pullup vom Board funktioniert.
Einige hier im Thread haben ja geschrieben, dass es für mehrere Sensoren und längeren Kabeln sinnvoll ist mit dem Widerstand zu spielen. Bei mir funktionieren 3 der Geräte mit bis zu 10 Sensoren und Kabeln um die 1,5m. Am letzten sollten aber 12 Sensoren hängen ebenfalls mit 1,5m Kabeln und das funktionierte nicht. Mit externen Widerstand läuft es.

2 „Gefällt mir“

Laut dem Datenblatt zum DS18B20 wird zwischen dem Anschluss I/O und Pluspol (3,3V bis 5V) ein Widerstand von 4,7 kOhm benötigt (Abbildung 2).
Wer sich daran hält, der hat weniger Probleme.

2 „Gefällt mir“

Ist ja auch nicht so dass wir das mit dem ds18x20 noch nie hatten:

Und mit variablem Widerstand:

Ich fühl mich manchmal wie ein Lehrer aus der Feuerzangenbowle :innocent:

2 „Gefällt mir“

Hallo liebe Leute,
Vielen Dank für die vielen konstruktiven Ansätze um mein Problem zu lösen. Ich habe bisher viel probiert …. Leider erfolglos.
Von Dallas über OneWire bis DallasND, die Sensoren ausgetauscht und die Verbindungen hart verlötet…
Auch wenn DallasND nur für ESP32 laufen soll und der Einsatz von externen Pullup-Widerständen (gleich welcher Art) unterschiedlich bewertet wird…
Ich geb der Sache noch einen Ruck und setz den 4,7k ein…. Einen Versuch ist‘s auf jeden Fall wert. Merci für den Tipp :v:
Unsicherheit besteht noch bzgl. der Herkunft der 3 baugleichen Sensoren von AliExpress… hier wird im Forum auf mangelhaft Plagiate verwiesen ( Aber das kann ich nicht beurteilen)
Melde mich, sobald ich mehr weiß (komme erst Freitag wieder dazu)
Bis dahin Ahoi
Euer Peter

Hallo, bin nicht ganz sicher was alles schon geschrieben wurde.
… hatte auch ein wenig Startschwierigkeiten.
Habe 5x DS18B20 am ESP8266 - alle am Pin D4=GPIO2.
Code ist, und läuft alles normal
Zu Beginn die Adresse heraus lassen, und dann beim neuen Flashen aus dem log holen… hoffe es hilft - gutes Durchstehvermögen :slight_smile:
wem’s interessiert: Genauigkeit ist super:
Soll 20,40°C
Ist: 20,31 20,38 20,56 20,35 20,25°C

image

…und dann halt so weiter… bis 5

Danke dir @HansM. Das baut mich etwas auf. Ich versuch’s nochmal.
Eine Bitte: könntest du deinen ESP-Home Code kopieren und über die “Zitatfunktion” einfügen? (Dann komm ich beim abtippen mit meinen Stoppelfingern nicht in die Quere :slight_smile: ) Vielen Dank !!!
Neuer Versuch, neues Glück… ich melde mich :v:
Peter

Hallo Pete,
kannst Du mir sagen wie das geht … mache auch erst seit 2-3 Wochen HA
Danke
Hans

Hallo Hans,
ich stolpere da auch rein :slight_smile:
Aber nutze die Funktion wie folgt:

Auf der rechten Seite siehst du dann sofort, wie’s später aussieht.
Viel Erfolg :v:

1 „Gefällt mir“
captive_portal:
  
one_wire:
  - platform: gpio
    pin: GPIO2
sensor:
  - platform: dallas_temp
    name: "T01"
    address: 0x8894947d0a646128
    unit_of_measurement: "°C"
    icon: "mdi:thermometer-plus"
    device_class: "temperature"
    state_class: "measurement"
    accuracy_decimals: 2
    update_interval: 5s
  - platform: dallas_temp
    name: "T02"
    address: 0x8700687c0a646128
    unit_of_measurement: "°C"
    icon: "mdi:thermometer-plus"
    device_class: "temperature"
    state_class: "measurement"
    accuracy_decimals: 2
    update_interval: 5s
  - platform: dallas_temp
    name: "T03"
    address: 0x786eb07d0a646128
    unit_of_measurement: "°C"
    icon: "mdi:thermometer-plus"
    device_class: "temperature"
    state_class: "measurement"
    accuracy_decimals: 2
    update_interval: 5s
  - platform: dallas_temp
    name: "T04"
    address: 0x8894947d0a646128
    unit_of_measurement: "°C"
    icon: "mdi:thermometer-plus"
    device_class: "temperature"
    state_class: "measurement"
    accuracy_decimals: 2
    update_interval: 5s
  - platform: dallas_temp
    name: "T05"
    address: 0x70f2e8710a646128
    unit_of_measurement: "°C"
    icon: "mdi:thermometer-plus"
    device_class: "temperature"
    state_class: "measurement"
    accuracy_decimals: 2
    update_interval: 5s

Hey super - bist ja schon weiter als ich :slight_smile:
:PS Ich möchte ja den ESP mit einem Li Akku 18650 speisen, und als das Modul über WLAN und Akku lief kam Fehlermeldung … irgendwas mit skratch und fehlende Rückmeldung… oder so…
…ich dachte das WLAN funktioniert nicht richtig - aber der Akku war ein wenig zu schwach, mit dem vollen ist es dann ohne Fehler gelaufen.
Messfrequenz kannst Du dann ja runter drehen auf 1-2 min …da habs nur zum Testen auf 5sec.
Viel Glück . .wenns mal läuft ist es echt toll
Hans

1 „Gefällt mir“

Hallo Hans,
du bringst mich auf Ideen (mobiler Einsatz … :wink:).
Ich würd mich freuen, wenn die Sensoren überhaupt erstmal funktionieren.
Mal schauen: Bescherung ist erst morgen :smile:

Hat geklappt :bouquet:

  1. 3,3V + 4,7k Ohm Widerstand verwendet
  2. Alle Verbindungen gelötet (nicht “geschraubt”)
  3. Sensor Adresse identifiziert
  4. Individuellen Sensor in yaml präzisiert

Ehre wem Ehre gebührt :slight_smile: :arrow_right:@pompom hat mir den Trick gezeigt

Welchen Einfluß auf den Erfolg Pkt (1) hat, kann ich nicht genau sagen.
Aber es hat alles geholfen.

Es bleiben noch ein paar gelegentliche Lesefehler, die ich mir nicht erklären kann. Aber vielleicht hat da jemand noch eine Idee?

Bis dahin alles Gute an euch
Peter