Anzeige Temperatur mit Esp8266 DS1 mini und DHT 22

Hallo
Ich beschätige mich seit kurzem mit Homeassistant.
Den Server auf einen RASP 4 habe ich zu laufen bekommen und auch im Netzwerk
sowohl Lan wie Wlan eingebunden.
Ich habe sehr viele Board ES32/8266 die ich als Sensor verwende möchte.
Als erstes habe ich ein ESP12F/8266 D1 mini versucht aber auch schon ESP 32.
Wie es mir scheint sollte man unbedingt bei Auswahl der Hardware den Haken rausnehmen und
das Board spezifizieren.
Ich habe auch das Buch von Ulrich Brandes zu Homeassistant und auch die Webseite ESPhome
besucht wo in bei beiden ein Voschlag zur Programmierung abgebildet ist. Das Grundgerüst
das sich das Board ins Wlan einbindet funktioniert nur mein yamlproggen scheint Probleme zu bereiten.
Es ist ja eine Übeprüfung eingebaut bevor man hochlädt und da lauf ich immer auf eine Mine siehe Anhang.Wo könnte man sich wegen Yaml informiern bzw gibt es irgendwo Beispiele.
Ansonsten muss ich mal Simons Ampel zuerst probieren

Gruß Bernd

Herzlich willkommen hier im HA-Forum! :smile:

Möchtest Du Deinen Code wirklich als Hardcopy hier einfügen und alle Key’s/Passwörter öffentlich machen?
Falls nein, kopier einfach den Code und füge ihn über </> ein
image
dann kannst Du diese perönliche Informationen unkenntlich machen!

hallo
beim nächstenmal werde ich es so machen.
ichhoffe ich bekomme noch mehr infos

Gruß Bernd

1 „Gefällt mir“

Luftfeuchtigkeit und Update Intervall sind falsch eingerückt. Passe sie mal an temperature an, dann ist die Fehlermeldung weg.

Und die 60er Jahre sind lang vorbei :rofl:

@Bernd_57
nicht nur, wie bereits angemerkt, die “Einrückung” stimmt nicht, es muss auch humidity: lauten.
Nachfolgend ein Beispiel, zufällig habe heute eine DHT Bastelei abgeschlossen und auf dem Code ist die Tinte noch feucht.
Gruß
Frank

sensor: # 1x DHT22
  - platform: dht
    pin: 0  #GPIO0
    temperature:
      name: "MBG6_T"  # DHT22 Temperatur
      id: MBG6_T      
    humidity:
      name: "MBG6_H"  # DHT22 Luftfeuchte
      id: MBG6_H
    update_interval: 60s

Morgen Leute
Funny ja es geht langsam auf die 70 zu.
Ich bin zwar mit Konsolenbefehlen groß geworden
aber man lernt immer noch dazu wenn man will.

Frank ich hack das nachher mal ein hatte gestern schon eine kleine Frustphase
werde dann weiter berichten.

Bewege ich mich mit ESP 32 Sensorenbastelei im richtigen Forumsbereich oder gehört das in eine andere Rubrik?

Gruß Bernd

Nachtrag:

Hallo
Also eben den Code von Frank reinkopiert die Einträge ID
entfernt (muss mal sehen wofür das dient) und Pin auf 1 gesetzt.
Sowie namen anders vergeben.
Code wurde per OTA eingespielt und lief auch durch nur keine Werte in
der Übersicht.
Habe mir dann das Pinout des Board angesehen was muß ich als Pin angeben
die Bezeichnung der Digiports D1-D8 den realen Pin 1-15
oder den GPIO Port was auch dann funktoniert hat (Gpio 05)

ensor: # 1x DHT22
  - platform: dht
    pin: GPIO 05  
    temperature:
      name: "aussentemp"  # DHT22 Temperatur
           
    humidity:
      name: "aussenfeuchte"  # DHT22 Luftfeuchte
      
    update_interval: 60s

Gruß Bernd

stimmt beim kopieren vergessen

Danke Bernd

@Bernd_57
je nachdem was für ein Board Du verwendest und deklarierst, frisst der Code für pin: z.B. 1, D1 oder GPIO01. Man muss sich das Pinout immer genau anschauen, dazu kommt das je nach Hersteller wiederrum was Eigenes auf die Platine gedruckt wird.
z.B.

esp32:
  board: esp32dev #ESP32 Dev Kit C V2
...
pin:
      number: 15 #GPIO15  
esp8266:
  board: d1_mini
...
pin:
      number: D4 #GPIO2 LED

Eine gute Kontrolle ist der Compilerlauf zum laden auf den Controller, in den Logs sieht man wie der pin auf eine GPIO# umgesetzt wird.

Die ID Einträge sind ein interne Variable, damit kannst Du im weiteren Code den Sensorwert nutzen um z.B. den Wert auf ein Display zu bringen.

Gruß
Frank

Hallo Frank
Bin ja ansich selber darauf gekommen aber dein Hinweis bestärkt das es Board abhängig ist.
Da der DHT 22 aber sehr träge ist habe ich mal den Sensor gewechselt auf ein
BME 280 das hat soweit geklappt mit dem Code nur es kommen keine Werte
bzw in der Übersicht steht unbekannt.

Die Adresse 0x76 passt habe ich mit einem Arduinosketch ausgelesen.
Die GPIO nach Pinout übernommen.

sensor:
  - platform: bme280
    temperature:
      name: "Aussen Temperatur"
      oversampling: 16x
    pressure:
      name: "Luftdruck"
    humidity:
      name: "Feuchte Aussen"
    address: 0x76
    update_interval: 5s

i2c:
  sda: GPIO4
  scl: GPIO5

wo könnte da noch haken das keine Werte kommen
ich hoffe der BME reagiert schneller auf Änderungen

Gruß Bernd

@Bernd_57
BME280, da habe ich keine Erfahrung mit.
Temperatur und Feuchte sind ja eher träge Systeme, da sollte ein DHT mit 60 s Intervall locker mitkommen.

Gruß
Frank

@Bernd_57
Da der BME über den I2C Bus läuft, schaue unbedingt in der Log Datei, dass der Sensor auch unter der parametrierten Adresse gefunden wurde.

Mit welchem Board arbeitest Du jetzt?

Hallo Frank
Danke für die Antwort ich habe es herausgefunden im Log
hat er immer gemeckert keine Communitation mit BME 280
daraufhin habe ich den Sensor gewechselt ich habe zwei
verschieden GY-BME P 280 mit 5 Anschlüssen und
BME/BMP 280 mit 4 Anschlüssen der lieferte sofort Werte
also passte die Config aber der Sensortyp nicht.


ist nicht aussen aber Werkstatt
Eine offene Frage hab ich noch ist das hier das richtige Subforum für ESPhome
mit ESP32 und ESP8266

Danke Bernd

Hallo
Nun läuft der Aussensensor schon einige Tage aber leider
passt die Temeperatur nicht richtig und die Luftfeuchte.
Temperatur liegt so 3° daneben die Feuchte 15-25%
Kann man dort Korrekturwerte setzen oder leigt das am Sensor

Ja, du kannst Korrekturwerte setzen. Schau mal hier:

Hallo
Danke für den Link/Antwort ich brauche also nur eine weitere Zeile in
den Code einfügen wie in Sensor Filters beschrieben.
Werde das mal versuchen ob ich es hinbekomme.

Danke Bernd