10 Stück oder mehr DS18B20 Sensoren in HA einbinden...

HA-DAU

Member
Hallo @kleiner Schelm,

ich muss nochmals auf das Thema aus dem Thread #5 hier kommen.
So in etwa wie bei Dir habe ich mir das vorgestellt
https://forum.heimnetz.de/threads/zaehler-wie-oft-brauchwasser-hoch-geheizt-wird.4442/post-45578

Im Volkszaehler habe ich das in etwa auch so hinterlegt.
Ich brauche damit aktuell nichts steuern, nur visualisieren.

1711518464260.png

Kannst Du mir die*.yaml zur Verfügung stellen, wie Du die Sensoren eingebunden hast.
Ich habe aktuell auch 11 Sensoren im Volkszaehler eingebunden.
Jetzt war meine Idee, diese Werte dort gleichzeitig abzugreifen und in HA zu transferieren
Müsste doch theoretisch gehen.
Hast Du dafür eine ESP32 oder ESP8266 verwendet?

Muss mir noch die Umgebung schaffen, bin noch in der Planung.
Ich habe die Sensoren ID der ganzen Sensoren an den Sensoren angeheftet.
Sind die dann in HA gleich, wie bei den Sensoren theoretisch hinterlegt?
Ich habe das gerade kontrolliert, die Sensoren bekommen eine eigene andere Adresse in HA, z.B. so:
address: 0xc1023444eefb6aa32
 
Zuletzt bearbeitet:
Hallo,

ich habe einen esp8266 verwendet.

nach dieser Anleitung bin ich vorgegangen:

https://be-jo.net/2022/04/esphome-temperaturmessung-mit-ds18b20-fuer-home-assistant/

YAML:
esphome:
  name: brauchwasser
  friendly_name: Brauchwasser

esp8266:
  board: d1_mini

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "xxxxxxxxxxx"

ota:
  password: "xxxxxxxxxxxxxxxxxxxxxxxxx"



wifi:
  ssid: !secret wifi_tplink_ssid
  password: !secret wifi_tplink_password
  manual_ip:
    static_ip: 192.168.xxx.xx
    gateway: 192.168.xxx.x
    subnet: 255.255.255.0
    dns1: 192.168.xxx.x

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Brauchwasser Fallback Hotspot"
    password: "xxxxxxxx"

captive_portal:

switch:
  - platform: gpio
    pin: D1             # GPIO 5         # = D1
    name: "Zirkulation EIN"
    id: zir_ein         # die ID kann optional vergeben werden
    interlock: [zir_aus]
    on_turn_on:
    - delay: 50s
    - switch.turn_off: zir_ein
  
  - platform: gpio
    pin: D0             # GPIO 0          # = D16
    name: "Zirkulation AUS"
    id: zir_aus         # die ID kann optional vergeben werden
    interlock: [zir_ein]
    on_turn_on:
    - delay: 50s
    - switch.turn_off: zir_aus

  - platform: gpio
    pin: D5             # GPIO 14          # = D16
    name: "Umwälzpumpe EIN"
    id: pumpe_ein       # die ID kann optional vergeben werden
  

  - platform: gpio
    pin: D6             # GPIO 12         # = D16
    name: "Relais D"
    id: relais_D        # die ID kann optional vergeben werden
 

dallas:
  pin:
    number: D4
    mode:
      input: true
      pullup: true
  update_interval: 2s
 
sensor:
  - platform: dallas
    address: 0x623c25f6491ef428
    name: "Aussentemperatur"
  - platform: dallas
    address: 0x5e0921c011453528
    name: "Wasserspeicher Temp.Oben"
  - platform: dallas
    address: 0xf00621c00d94ca28
    name: "Warmwasser Temp."
  - platform: dallas
    address: 0x470921c007e00a28
    name: "Solar Vorlauf"
  - platform: dallas
    address: 0xde0621c001126b28
    name: "Wasserspeicher Temp.Unten"
  - platform: dallas
    address: 0x060821c001322628
    name: "Solar Rücklauf"
  - platform: dallas
    address: 0x940821c00100b928
    name: "Kaltwasser Temp."
  - platform: dallas
    address: 0x430621c017ae8e28
    name: "Zirkulation Temp."
  - platform: dallas
    address: 0x980921b1427e2928
    name: "Heizung Vorlauf"
  - platform: dallas
    address: 0x8d0921c005477b28
    name: "Heizung Rücklauf"


web_server: # creates a web server where you can access all this stuff without home assistant (good for debugging or working headless (no HA))
  port: 80
  include_internal: true
  ota: true

binary_sensor: # exposes online status
  - platform: status
    name: "Sensor Status"

text_sensor:
  - platform: wifi_info
    ip_address: # exposes the IP Address when connected
      internal: true
      id: wifi_ip_addr
      name: "IP Address"
    ssid: # exposes the SSID when connected
      internal: true
      id: wifi_ssid

ich habe da noch eine Platine mit 4 Relais dran. Mit den 4 Relais schalte ich das Motorventil und zwei Umwälzpumpen. Das habe ich in Home Assistant programmiert.
Wobei ich im esp8266 für "auf" und "zu" des Motorventils noch eine 50 sekunden Zeit programmiert habe, die das Relais in jedem Fall wieder abschaltet. So wird in jedem Fall die Spannung am Motorventil abgeschaltet, sollte es irgend Störungen geben. Der esp8266 schaltet die Spannung auf jeden Fall weg. Das Motorventil braucht einige Zeit, um von "Auf" nach "zu" zu fahren. Das geht aber so in Ordnung.In Home Assistant ist die Zeit auf eine Minute programmiert.

im Grunde ist es einfach:
man schliesst die 10 Temperatursensoren an den esp8266 an. Wenn man den esp8266 startet kommt im log, wie viele Temperatursensoren gefunden wurden und deren ID. Dann kann man den yaml Code erweitern und die Temperatursensoren erst einmal erfassen und anzeigen lassen. Tauche jeden Sensor einzeln in heisses Wasser. Dann sieht man, welcher Sensor bzw. ID das ist. Dann im yaml Code den Namen des Sensors umbenennen, für was man den Sensor benutzt.
 
Zuletzt bearbeitet:
Hallo @kleiner Schelm,

ok, das sieht gut aus, das ist eine echte Hilfe für mein Vorhaben.

Wie hast Du das nochmals gemacht um die address: der einzelnen Sensoren zu finden.
Ich habe das mal gelesen von Dir wie Du das gemacht hattest, finde aber den Thread nicht mehr dazu.
Irgendwas was mit heißem Wasser. Aber vorher sollte ich die address: kennen.....
Ein Link dahin reicht aus.
Danke...
Nachtrag:
Ich habe gerade gesehen, oben steht ja alles wie Du das gemacht hast.
Wer lesen kann, ist klar im Vorteil.... :D

Noch eine Frage: Hast Du den an 3,3V oder am 5V Pin am ESP8266 angeschlossen?
 
Zuletzt bearbeitet:
Ich nehme immer alte 5V spannungsversorgungen, die nicht mehr benötigt werden. Von alten smartphone, ich hab da ne ganze schublade voll. Mit den kuriosesten Steckern. Damals hat jeder ja seine eigenen stecker gehabt. Stecker abschneiden und mit messgerät messen, wo plus und wo minus ist.

Auch die temperaturfühler gehen mit den 5 V. Hab ich gerade nochmal geguckt. Ich hab auch 10 Temperaturfühler parallel.
 
Hallo @kleiner Schelm,

perfekt, ESP8266 ist bestellt, die 5V kann ich dann im Verteiler abgreifen die vom RaspberryPi kommen.
Das müsste ausreichen, damit ich kein zusätzlicher Strom mehr brauche.
Ansonsten muss halt doch noch ein zusätzliches Netzteil dran.
Rot = 5V, Schwarz = Ground, Weiß = Data
Oder habe ich einen Denkfehler?
1711553232458.png
 
Zuletzt bearbeitet:
ich habe das in standard schnellklemmen gefriemelt, mehrere Adern zusammen gezwirbelt. Bei mir reicht ein kleines handelsübliches 5 V Netzteil. Den Widerstand hast du, das ist wichtig. Ich bin auch beeindruckt, was die kleinen Temperaturfühler und der esp8266 können. Für den Preis ist das mehr als gut. Bei den Chinesen gibt es das zudem sehr günstig. Ich hab auch ein Kistchen Schrumpfschlauch und besagte Schnellklemmen mit bestellt. Das sollte man investieren, braucht man immer wieder.
 
Hallo @kleiner Schelm,
eine kleine Frage habe ich noch.
Du verwendest doch alte abgeschnittene Netzteile.
An welchen PIN lötest Du dann das Plus (3,3V / 5V) und Minus (Ground) an? Oder habe ich da wieder einen Denkfehler?
Den Micro-USB als Stromversorgung fällt ja dann weg.
Kannst Du mir da mal ein Bild davon einstellen, damit ich mir das vorstellen kann, wie so was ausschaut?

Du hast dann doch noch weitere 10 Drähte für Plus, Ground und Data an den Pin zu bringen.
 
Hallo zusammen,
mein Vorhaben ist aktuell so aufgegangen wie geplant.
Danke @kleiner Schelm.
Ein Sensor konnte ich einbinden, die anderen 10 Sensoren waren als Adresse am Anfang sichtbar.
Nur als ich dann den Rest einbinden wollte, fand der ESP8266 angeblich kein WLAN mehr und brach mit einer Fehlermeldung ab.
Dann habe ich eine feste IP beim Skript hinterlegt und ab da war die Welt wieder in Ordnung.
Das Teil läuft aktuell als Test als Entität mit Zahlenwerten und auch als Graphische Darstellung.
 
Ich habe den esp im keller statische ip gegeben, weil ich nen tp link im keller habe. Das hatte gezickt. Ein tipp im internet lautete, dass man die server funktion im tp link deaktivieren sollte. Tp link kann also eigenständig keine ip vergeben. Seit dem habe ich keine störungen mehr. Tp link hat vorher das wlan der fritzbox gestört.
Ich kenne mich mit dem netzwerkzeugs nicht im detail aus. Aber wenn tp link selbstständig den esp neue ip gibt, kann ich mir vorstellen, dass es iwo zickt. Weil das ja noch über das wlan der fritzbox muss und dann in home assistant auch sauber zugeordnet werden muss. Das ist auch kein ding, in den esp ne statische ip zu programmieren.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
4.543
Beiträge
46.533
Mitglieder
4.179
Neuestes Mitglied
CColli
Zurück
Oben