DHT22 odczyt z kilku termometrów

Witam
Korzystając z płytki ESP w ramach testów, odczytywałem temperaturę z DHT11, akurat taki moduł miałem i odczyty były zbliżone do rzeczywistości. Po zmianie modułu na DHT22 niestety odczyt jest zdecydowanie inny, podczas gdy DHT11 pokazuje 21 stopni, DHT22 pokazuje -9 stopni, podobnie z wilgotnością, odczyt z DHT22 jest sporo zaniżony. Skrypt jaki stosuje jest skopiowany ze strony esphome. I to jest mój pierwszy problem.
Drugi to nie mogę odczytać temperatury z kilku czujników podpiętych do esp na innych pinach, podczas instalacji mam komunikat o duplikacji nazwy itp, zastanawiam się czy można podpiąć kilka modułów do jednego pinu skoro DHT działa na 1 Wire ale nie mogę sobie z tym poradzić.

Skoro ESPHome to chyba mówisz o YAMLu a nie skrypcie

Czasem warto zajrzeć do dokumentacji - skoro auto-detekcja nie działa, to model trzeba podać jawnie

# Example configuration entry DHT11
sensor:
  - platform: dht
    model: DHT11
    pin: D2
    temperature:
      name: "Living Room Temperature"
    humidity:
      name: "Living Room Humidity"
    update_interval: 60s
# Example configuration entry DHT21
sensor:
  - platform: dht
    model: DHT22
    pin: D2
    temperature:
      name: "Living Room Temperature"
    humidity:
      name: "Living Room Humidity"
    update_interval: 60s
# Example configuration entry DHT21 inne wykonanie
sensor:
  - platform: dht
    model: DHT22_TYPE2
    pin: D2
    temperature:
      name: "Living Room Temperature"
    humidity:
      name: "Living Room Humidity"
    update_interval: 60s

a może masz SI7021??? (dla niego auto-detekcja nigdy nie działa)

# Example configuration entry SI7021
sensor:
  - platform: dht
    model: SI7021
    pin: D2
    temperature:
      name: "Living Room Temperature"
    humidity:
      name: "Living Room Humidity"
    update_interval: 60s

Jeśli się nie mylę jest dopuszczalna jedna magistrala 1-wire (pewnie trzeba pokopać po dokumentacji), ale jak sama nazwa wskazuje wszystkie czujniki 1-wire łączy się na jednej linii w magistrali szyny (gwiazda jest niedopuszczalna).

Tylko jeśli mnie pamięć nie myli magistrala stosowana przez DHT jest niekompatybilna z prawdziwym 1-wire, więc nie możesz mieszać czujników DHT z 1-wire np. od Dallasa.

Nie jestem pewien czy w związku z tym można mieć więcej niż 1 czujnik… (wydaje mi się, że nie obsługują indywidualnego adresowania)
edit: już jestrem pewien, że NIE:

Although it uses a single wire to send data it is not Dallas One Wire compatible! If you want multiple sensors, each one must have its own data pin.

Natomiast implementacja DHT w ESPHome chyba nie przewiduje więcej niż 1 szyny danych tego typu…

1 polubienie

Siedziałem i siedziałem na tym i w końcu mam odczyt z pięciu DHT wpiętych do esp8266, każdy czujnik na innym pinie, rozwiązanie może mało eleganckie ale odczyty są poprawne.

captive_portal:
#Pomiar temperatury
sensor:
  - platform: dht
    pin: D0
    temperature:
      name: "T1"
    humidity:
      name: "W1"
    update_interval: 1s  
  
  - platform: dht
    pin: D1
    temperature:
      name: "T2"
    humidity:
      name: "W2"
    update_interval: 1s

  - platform: dht
    pin: D2
    temperature:
      name: "T3"
    humidity:
      name: "W3"
    update_interval: 1s
 
 - platform: dht
    model: DHT22_TYPE2
    pin: D3
    temperature:
      name: "T4"
    humidity:
      name: "W4"
    update_interval: 1s 
 
 - platform: dht
    model: DHT22_TYPE2
    pin: D4
    temperature:
      name: "T5"
    humidity:
      name: "W5"
    update_interval: 1s
1 polubienie