NEWS
Wie viele DS18B20 an ESP32?
-
An einem Wemos D1 Mini mit ESPEasy habe ich 12Stk. DS18b20 seit ca. 3Jahren ohne ausfälle am laufen. Temperaturen werden ebenfalls an meiner Heizung ziemlich genau ausgelesen.
-
@cvidal Interessant. Hätte ich nicht gedacht. Aber vielleicht teste ich das auch mal. Würde aber dann einen ESP32 nehmen. Der liegt noch hier herum. Und mit ESPEasy hatte ich vor Tasmota auch schon experimentiert.
Danke für Deine Antwort.
-
hört sich interessant an ..... bin gespannt ob du das stabil hinbekommst . Ich scheitere an 8 Stück bzw. habe ca. alle 3 Monate einen Ausfall der sich mit einem Neustart beheben lässt.
-
@theduke An welcher HArdware hast Du die 8 Stück denn dran und welche Software nutzt Du?
Wie gesagt, an einem RPi3B als ioBroker-Slave laufen 10 Stück sehr stabil.
-
an einem ESP8266 mit Tasmota ..... da es ja 3 Monate gut geht habe ich mich nicht um die Fehlersuche gekümmert
-
@cvidal Hey cvidal,
dein Post ist zwar schon länger her.
Ich würde gerne wissen, was für einen Widerstand du bei 12 x DS18B20 gebraucht hast. Ich freue mich auf eine Nachricht von dir. Vielen Dank. Grüße Christoph -
@cbrocker Ich würde einen 4K7 nehmen.
-
@cvidal sagte in Wie viele DS18B20 an ESP32?:
An einem Wemos D1 Mini mit ESPEasy habe ich 12Stk. DS18b20 seit ca. 3Jahren ohne ausfälle am laufen. Temperaturen werden ebenfalls an meiner Heizung ziemlich genau ausgelesen.
Hast du die Grenze von 8 Stück lt. der tasmota Seite erhöht ?
Und wie hast du die Begrenzung des sensor-Protokoll von 11 aufgehoben?
Wird der 12 Sensor trotzdem per mqtt übertragen ? -
-
Habe seit Monaten eine 8 Sensor-Variante mit ESP8266 und ESPEasy mit 7 DS18B20 und einem SHT31 im Probebetrieb.
ESPEasy zeigt ein Beispiel mit 12 Sensoren https://esphome.io/components/sensor/dallas.html
Habe keine Beschränkung zu Anzahl Sensoren gelesen.
Der ESPHome Adapter empfängt die Daten.Die Webseite der ESP sieht so aus:
Die Programmierung basiert auf einem Gerät zur Messung und Ermittlung der Wandfeuchte wie ich es zur Steuerung von Luftentfeuchtern nutze. Daran habe ich noch weitere 6 DS18B20 angebracht, welche künftig die noch zu liefernde Batterie der noch zu liefernden PV Anlage überwachen sollen.
-
@josh
Ich habe an einem ESP8266 (mit EspHome programmiert) 12 Dallas DS18B12 seit Monaten stabil laufen. Ich hae sie aber auf GPIOs verteilt weil ich mal gelesen habe, dass das die Fehleranfälligkeit verringert. Als Widerstand habe ich 47 k genommen. -
@wolfgangfb sagte in Wie viele DS18B20 an ESP32?:
Widerstand habe ich 47 k genommen.
sind 4k7 nicht üblich?
Dein Widerstand ist ein bisschen viel, oder nicht ? -
@bahnuhr sagte in Wie viele DS18B20 an ESP32?:
@wolfgangfb sagte in Wie viele DS18B20 an ESP32?:
Widerstand habe ich 47 k genommen.
sind 4k7 nicht üblich?
Dein Widerstand ist ein bisschen viel, oder nicht ?Tippfehler, Komma vergessen, es sind 4,7 k
Ich probiere es aber mal aus ob es nicht auch mit 47k geht, ist ja nur ein Pull-Up Widerstand und mit 47k müssten auch definierte Pegel erzeugt werden können. -
@wolfgangfb Bleib bei den 4K7. Das Datenblatt empfiehlt ca. 5k und zeichnet 4k7 in die Schaltbilder.
Es geht ja nicht um eine statische Spannung, sondern um das Nachladen der Kapazitäten bei der Signalübertragung. Ein zu großer Pullup führt zu "verschliffenen" Signalflanken.
-
Hallo Zusammen.
Ich wollte kurz nur eine Zwischenmeldung abgeben.aktuell betreibe ich im Testaufbau 20x DS18B20 (Dallas) an eine GPIO (16) am ESP32 D1 mini. Alle 3 Leitungen wurden zu den 20 Sensoren verlegt, als Ring. --> geplant sind 16 pro GPIO als HUB um 2x16Sensoren zu verwalten.
Wenn ich es umgesetzt habe, stell ich noch ein paar Bilder mit ein.
Ich flash den ESP32 D1 mit ESPhome über den HomeAssi --> nutze ich nur zum flashen , so was Feines..
Jetzt kommen die versprochenen Bilder.
die Länge ist ca 1,20m bis dann der Sensorring beginnt. Es ist für meine 16elle LiFePo DIY Speicher. Damit möchte ich die Temperaturen der Zellen im Blick haben.
Der 3D Druck Stift mit TPU Material, ist eine Mega Geniale Sache für mich. Damit stabilisiere ich quasie alle Lötverbindungen und mach es etwas robuster.
Die DS18B20 habe ich bewusst steckbar gestaltet um bei Ausfällen, nicht an der Batterie herum zu löten).
Dieser ESP soll noch den GPIO17 mit auslesen, Testaufbau mit HUB Funktion von ESPhome hat funktioniert, aktuell warte ich noch auf die Sensoren aus China. Dann wird der zweite Kreis gebaut. --> mit einigen Verbesserungen --> dann werden nur noch 8 blaue Verbinder a´ 2 3-fach Stecker Anschlüsse verbaut, eventuell auch nur als Stichleitung.... die JSH haben einen 1.5mm Pinabstand. Die Löterei is eine kleine Fummelei, aber mit dem passenden Werkzeug ....
Der Vorteil der Steckerei... alles mit einem mal anstecken und beim erst init hat man die ID der DS18B20, die kann man dann einfach einpflegen und durch an und abstecken der richtigen Zell zuordnen.
-
@marco-3
Kannst Du bitte auch eine Info zu verwendeten Kabeln und Leitungslängen geben. Bei Positionierung der Sensoren in der ganzen Hütte hatte ich da schon "interessante" Effekte/Probleme.
Da ein ESP ja über WiFi läuft, ist es ggf einfacher mehrere zu verwenden anstatt mit aufwendigeren 1-Wire Netze/Leitungen zu agieren. -
@klassisch said in Wie viele DS18B20 an ESP32?:
Habe seit Monaten eine 8 Sensor-Variante mit ESP8266 und ESPEasy mit 7
Die Webseite der ESP sieht so aus:
Hallo Klassisch, hast zufällig den ESPhome Schnipsel für die Berechnung der Uptime in Tage Stunden Minunten Sekunden zur Hand? ich hab da jetzt herum probiert und es kommt zu Fehlern bei kompilieren...
Danke und Grüsse
-
@marco-3 @marco-3 Ist schon lange her. Die Sensoren laufen schon seit > 1 Jahr im Produktivbetrieb
Ich versuche mal was zusammenzusuchen:
Edit: am Anfang des yaml braucht es die Definitionupdates: 2min updateSlow: 15min #slow for device bound values such as RSSI
Dann
# text_sensor needed for human frindly update sensor # text sensor for update. Part . Part 2 is the update sensor itself at the end of sensors chapter # refer to: https://esphome.io/components/sensor/uptime.html text_sensor: - platform: template name: Uptime id: uptime_human icon: mdi:clock-start ########### End text sensors #############
Dann weiter unten
# uptime sensor. for readable uptime use text sensor in text sensor chapter # refer to: https://esphome.io/components/sensor/uptime.html - platform: uptime name: Uptime Sensor id: uptime_sensor update_interval: ${updates} on_raw_value: then: - text_sensor.template.publish: id: uptime_human state: !lambda |- int seconds = round(id(uptime_sensor).raw_state); int days = seconds / (24 * 3600); seconds = seconds % (24 * 3600); int hours = seconds / 3600; seconds = seconds % 3600; int minutes = seconds / 60; seconds = seconds % 60; return ( (days ? String(days) + "d " : "") + (hours ? String(hours) + "h " : "") + (minutes ? String(minutes) + "m " : "") + (String(seconds) + "s") ).c_str(); # uptime generates the uptime of the ESP, shows it on the web page and transmits it to the server
Und wie man sieht, ich habe es einfach abgeschrieben und die Referenzen in den Quelltext eingefügt.
Ich übersetze das alles von einer ESPHome Installation unter Windows. Die ESPHome Unterstützung auf ioBroker funktioniert bei mir leider nicht, weil ioBroker bei mir unter Win läuft.
Habe dann auch alles auf MQTT umgestellt und das funktioniert.
Yaml ist für mich eine Qual. Fängt schon beim Strukturieren per Einrücken statt mit Klammern an. Ähnlich wie bei Python.
Man hätte auch JSON nehmen können und nichts Neues erfinden. -
@klassisch said in Wie viele DS18B20 an ESP32?:
update_interval: ${updates}
lief nicht gleich:
update_interval: ${updates}
hab ich dann auf
update_interval: 60s
geändert, wenn de magst kannst du das gleich in deinem Code anpassen, damit es bei copy / past gleich funktioniert.
Bei mir ist der ioBroker auf Debian unter einer VM Worstation 16, auf einem Windows 10 System. Die ESPhome Umgebung erzeige ich nur um den ESP zu flashen (auf einem Windows11 Endnutzer PC) , dann fahr ich die VMvon ESP home wieder herunter,..
-
@marco-3 sagte in Wie viele DS18B20 an ESP32?:
update_interval: ${updates}
lief nicht gleich:
Sorry, mein Fehler. Da habe ich nicht richtig geschaut und nicht alles gepostet. Ganz am Anfang des Skripts gibt es:
# wall moisture sensor substitutions: updates: 2min updateSlow: 15min #slow for device bound values such as RSSI devicename: wall-moisture-v5
Dann funktioniert das.
Es gibt dann noch ein weiteres file mit den Credentials, welches für alle meine ESPHome Devices gleich ist und von denen genutzt wird: Das wird dann referenziert
<<: !include includes-MQTT.yaml # in include file is Standard and secrets # #wifi: # ssid: "MineSSID" # password: "secret" # # Enable fallback hotspot (captive portal) in case wifi connection fails # ap: # ssid: "Co2Sensor01 Fallback Hotspot" # password: "irgendwas" # Example configuration entry #web_server: # port: 80 # # Example configuration entry # setup NTP Server to get time from router #time: # platform: sntp # id: sntp_time # servers: "myRouterIP" # timezone: DE # Example configuration entry #mqtt: # broker: my.MQTT.Broker.Id5 # ################# End included content
Da sind dann die Wifi und MQTT Credentials drin. Dann muß ich diese Dinge nicht in das yaml der jeweiligen Sensoren schreiben. Hatte ich auch schon bei den selbstgeschriebenen ESPs so.
Mein ioBroker Rechner läuft auf Win. Und das geht sehr gut und stabil. No Thrills, KISS.
Auf dem ioBroker Rechner gibt es noch eine Python-Installation, damit ich bei Bedarf aus den History JSON Files Daten extrahieren und als CSV oder xlsx speichern kann.Die ESPHome yamls wurden auf einem Win Enduser Gerät übersetzt, aerial-Ur-geflasht und ab dann OTA geflasht.
Auch meine uralten "handgestrickten" ESPs lassen sich OTA flashen. Laufen aber jahrelang stabil. Bis man ihnen den Stecker zieht oder sie kein WLAN finden, z.B. wg. Fritten-Update.
Aber für neue Anwendungen lohnt sich das selbst Schreiben meist nicht. ESPHome, oder ESPEasy können das meiste. Tasmota wahrscheinlich auch - vielleicht auch besser, habe ich aber nicht im Einsatz.