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…
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