Cześć, mam w tej chwili 2 ESP32 z wgranym esphome, pod jednym mam 5 czujników ds18b20 a pod drugim ESP32 mam bmp280.
Chcę to spiąć pod jeden moduł ESP32 z esphome.
Podczas dodawania czujników ds18b20 pojawia mi się błąd. Nie wiem jak to ogranąć aby spiąć te dwa rodzaje czujników.
Najlepiej mój problem wyjaśni printscreen
Dziękuję Wam za pomoc.
Pozdrawiam
Graffy
January 11, 2022, 1:40pm
2
BME280 i dallasy pod sobą w jednym “sensors”
Przykład:
sensor:
- platform: wifi_signal
name: "ESP salon signal"
update_interval: 60s
- platform: bmp085
address: 0x77
temperature:
name: "BMP180 Temperature"
pressure:
name: "BMP180 Pressure"
update_interval: 60s
- platform: bme280
temperature:
name: "BME280 Temperature"
oversampling: 16x
pressure:
name: "BMP280 Pressure"
oversampling: 16x
humidity:
name: "BME280 Humidity"
oversampling: 16x
address: 0x76
iir_filter: 4x
update_interval: 30s
1 Like
Marek
January 11, 2022, 2:31pm
4
Do dokumentacji zaglądałeś?
- platform: dallas
ma być w sekcji sensor:
W sekcji dallas:
definiujesz tylko pin GPIO
dallas:
- pin: GPIO23
sensor:
- platform: dallas
address: 0xA40000031F055028
name: "Temperature #1"
- platform: dallas
address: 0xDD0000031EFB0428
name: "Temperature #2"
- platform: dallas
# ...
1 Like
Marek Właśnie tak miałem na samym początku i niestety też był błąd że mam powtórzony dwa razy “sensors”
esphome:
name: esp-kotlownia
platform: ESP32
board: esp32dev
wifi:
ssid: "xxxxxxxx"
password: "xxxxx"
# Optional manual IP
manual_ip:
static_ip: 192.168.1.14
gateway: 192.168.1.1
subnet: 255.255.255.0
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "xxxxxxFallback Hotspot"
password: "xxxxxx"
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
password: "xxxxxxx"
ota:
password: "xxxxxxx"
web_server:
port: 80
esp32_ble_tracker:
i2c:
sda: 21
scl: 22
scan: True
id: bus_a
sensor:
- platform: bme280
temperature:
name: "Temperatura Sypialnia"
oversampling: 16x
pressure:
name: "Ciśnienie Sypialnia"
humidity:
name: "Wilgotność Sypialnia"
address: 0x76
update_interval: 10s
dallas:
- pin: 4
- platform: dallas
address: 0x6B9A1913E7C7FF28
name: "Piec Temperature"
- platform: dallas
address: 0x6E8A190326E1FF28
name: "Piec powrót"
- platform: dallas
address: 0x74A1A04099D8FF28
name: "Podłogówka zasilanie"
- platform: dallas
address: 0x6B00000CFA8C2B28
name: "Bojler"
- platform: dallas
address: 0x2E9A1913EF25FF28
name: "Testy"
Niestety nie potrafię znaleźć błędu
szopen
January 11, 2022, 3:22pm
6
To zajrzyj do dokumentacji.
Platformę sprzętową definiujesz oddzielnie (nie wewnątrz bloku sensors:
) zasady są właściwie takie same jak przy definiowaniu konfiguracji HA w YAMLu.
Poprawię ten twój kod na szybko, więc może zawierać nadal jakieś istotne błędy, zasadniczo linter wbudowany w ESPHome wykrywa większość błędów składniowych, to jednak czasem trudno zrozumieć jego podpowiedzi.
esphome:
name: esp-kotlownia
platform: ESP32
board: esp32dev
wifi:
ssid: "xxxxxxxx"
password: "xxxxx"
# Optional manual IP
manual_ip:
static_ip: 192.168.1.14
gateway: 192.168.1.1
subnet: 255.255.255.0
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "xxxxxxFallback Hotspot"
password: "xxxxxx"
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
password: "xxxxxxx"
ota:
password: "xxxxxxx"
web_server:
port: 80
esp32_ble_tracker:
i2c:
sda: 21
scl: 22
scan: True
id: bus_a
dallas:
- pin: 4
sensor:
- platform: bme280
address: 0x76
update_interval: 10s
temperature:
name: "Temperatura Sypialnia"
oversampling: 16x
pressure:
name: "Ciśnienie Sypialnia"
humidity:
name: "Wilgotność Sypialnia"
- platform: dallas
address: 0x6B9A1913E7C7FF28
name: "Piec Temperature"
- platform: dallas
address: 0x6E8A190326E1FF28
name: "Piec powrót"
- platform: dallas
address: 0x74A1A04099D8FF28
name: "Podłogówka zasilanie"
- platform: dallas
address: 0x6B00000CFA8C2B28
name: "Bojler"
- platform: dallas
address: 0x2E9A1913EF25FF28
name: "Testy"
Warto jakoś usystematyzować sobie zawartość konfiguracji - dlatego np. adres BME280 dałem wyżej (z punktu widzenia interpretera YAML i generatora kodu c++ nie ma to znaczenia, ale ludzkim okiem “czyta się lepiej”) oraz zostawiłem pustą linię by wizualnie rozdzielić sensory z rożnych platform sprzętowych (nie jest do niczego potrzebna, ale jeśli sobie nie komentujesz pliku to chociaż zrób jakieś proste rozróżnienia stosując puste linie).
Inne rzeczy które mi się rzuciły w oko
platforma BLE zużywa spore zasoby, więc warto spojrzeć na końcówkę kompilacji jak są wykorzystane zasoby (RAM i flash), skoro już ja używasz to możesz też zasysać dane z wybranych sensorów BLE (np LYWSD03MMC lub podobnych - sprawdź w dokumentacji co jest obsługiwane)
statyczny IP lubi robić problemy, zdecydowanie lepiej przypisać IP z poziomu routera (tzw. “statyczny przydział z DHCP”, czyli w praktyce powiązanie ARP z DHCP)
2 Likes
Twój Yaml szopen ruszył od strzała, teraz widzę jak na dłoni gdzie popełniałem błąd. Bardzo Ci dziękuję.
Widzę że jeszcze długa droga przede mną.
Zmienię ip na dynamiczne, jak poogarniam sterowanie tym co potrzebuję.
Raz jeszcze wielkie dzięki za pomoc.
szopen
January 11, 2022, 9:08pm
9
@on6222 No cóż usunąłeś posta zanim miałem czas na opublikowanie odpowiedzi…
on6222
(Piotr)
January 12, 2022, 2:12pm
10
@szopen tak bo byłem w błędzie i już nie chciałem niepotrzebnie mieszać…pozdrawiam
1 Like
Maximus
(Maximus)
January 31, 2023, 9:47am
11
Witaj Szopen
Czy mógłbys coś wiecej dodać o połaczeniu do powyższej konfiguracji czujników , dodatkowo LYWSD03MMC ciekawi mnie to bo można by było rozwiązać problem z zasięgiem Ble tych czujników niskim kosztem.
Pozdrawiam
szopen
January 31, 2023, 11:11am
12
Jeśli chcesz mieć czujniki obsługiwane bezpośrednio z poziomu ESPHome
jak widać są 3 różne integracje zależnie od tego czy masz fabryczny firmware
Dla fabrycznego softu może się przydać to (czujniki skonfigurowane z chmurą mają tokeny)
Jeśli chodzi o alternatywne firmware to polecam to (dobrze zoptymalizowane pod względem poboru energii,
Można wybrać protokół BTHome
można je tez użyć na tym (nie śledzę sytuacji na bieżąco, ale rozwój chyba się zatrzymał, skoro wersja proponowana przez @pvvx jest lepsza)
A pomijając te kwestie są jeszcze 2 projekty umożliwoiające wykorzystanie ESP32@ESPHome
(ewentualnie fork dla starej wersji GL.iNet GL-S10)
oraz takie mniej oficjalne
BLE monitor passively monitors BLE sensors (Xiaomi, Qingping, ATC, BlueMaestro, Brifit, Govee, Kegtron, Moat, Inkbird, iNode, Yeelight, RuuviTag, SensorPush, Teltonika, Thermoplus and Thermopro) - ...
Passively monitors BLE messages from Xiaomi Mijia BLE MiBeacon, Qingping, ATC, Xiaomi Scale, Kegtron and Thermoplus sensors.
Dołączę do tematu jeśli można. Chciałbym zapytać jak skonfigurować i czy to w ogóle możliwe dallas na kilku pinach w ESPhome na ESP32. Kiedy próbuję to zrobić na czterech pinach to na każdym z nich ESPhome identyfikuje po osiem czujek ds18d20. Wszystko działa do momentu kiedy chcę zaadresować te czujki. Czy to możliwe by z czterech różnych pinów odczytywać po osiem czujników ?
MariuszAK
(mariuszak)
April 15, 2023, 7:06am
14
Adresować możesz w ten sposób
# Sensory temperatury
dallas:
- id: "dallas_hub_1"
pin: D4
- id: "dallas_hub_3"
pin: D7
sensor:
- platform: dallas
address: 0x2000000a42618728
name: "kuchnia"
dallas_id: dallas_hub_1
- platform: dallas
address: 0x3d031731515eff28
name: "przedpokoj"
dallas_id: dallas_hub_1
- platform: dallas
address: 0x5700000a434e0028
name: "dziewczyny"
dallas_id: dallas_hub_3
- platform: dallas
address: 0x8600000a98937228
name: "lazienka"
dallas_id: dallas_hub_3
patrz sekcja Multiple dallas hubs
w podlinkowanej w tym wątku dokumentacji.
1 Like
Działa dzięki za rozwiązanie
A raczej działało przez długi czas!!! Jednak nastąpiła aktualizacja ESP Home i już nie działa. Wedle instrukcji:
# Old
dallas:
- pin: GPIOXX
sensor:
- platform: dallas
address: 0x1234567890abcdef
name: "My Sensor"
# New
one_wire:
- platform: gpio
pin: GPIOXX
sensor:
- platform: dallas_temp
address: 0x1234567890abcdef
name: "My Sensor"
działa pojedynczy czujnik ale nie cały hub. Nigdzie nie mogę znaleść poprawnej instrukcji dla Haba w nowej wersji.
szopen
August 3, 2024, 9:15pm
17
Pokaż prawdziwy kod (stary i nowy), a nie wklejki z dokumentacji (w której jest trochę więcej niż najuboższy przykład dla jednego huba), ile masz hubów?
Aha i nie twierdzę, że aktualizacja jest idealna i niczego nie psuje (jakkolwiek zmiana była podyktowana koniecznością rozwoju), ale widziałem, że były ruchy w kierunku poprawy i od mniej więcej miesiąca te problemy chyba są rozwiązane?
esphome:
name: "ogrzewanie-podogowe"
friendly_name: Czujniki temperatury
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "xxx"
ota:
password: "xxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Czujniki-Temperatury"
password: "DOLKPU5XgYEB"
# Sensory temperatury
dallas:
- id: "dallas_hub_2"
pin: 2
update_interval: 10s
- id: "dallas_hub_4"
pin: 4
update_interval: 10s
- id: "dallas_hub_5"
pin: 16
update_interval: 10s
- id: "dallas_hub_15"
pin: 15
update_interval: 10s
sensor:
- platform: dallas
address: 0xa701143bb641aa28
name: "Salon kominek"
dallas_id: dallas_hub_2
- platform: dallas
address: 0xdf01144fc4b1aa28
name: "Salon pod oknem"
dallas_id: dallas_hub_2
- platform: dallas
address: 0x3e0121132556c628
name: "Salon przed kanapą"
dallas_id: dallas_hub_2
- platform: dallas
address: 0xc63c01f095cc2328
name: "Salon środek"
dallas_id: dallas_hub_2
- platform: dallas
address: 0x0a062017e5afe728
name: "Salon przed telewizorem"
dallas_id: dallas_hub_2
- platform: dallas
address: 0xc2012113774c0a28
name: "Przybudówka"
dallas_id: dallas_hub_4
- platform: dallas
address: 0x6201144fe4b0aa28
name: "Łazienka dolna"
dallas_id: dallas_hub_4
- platform: dallas
address: 0x4b01144fd7f0aa28
name: "Łazienka dolna - prysznic"
dallas_id: dallas_hub_4
- platform: dallas
address: 0xfd0121137eda1e28
name: "Przybudówka pod izolacją"
dallas_id: dallas_hub_4
- platform: dallas
address: 0x2a062017dc0a2028
name: "Panorama"
dallas_id: dallas_hub_5
- platform: dallas
address: 0xc001211345246228
name: "Sypialnia"
dallas_id: dallas_hub_5
- platform: dallas
address: 0x3b3c01f0955f0528
name: "Poddasze biurko"
dallas_id: dallas_hub_5
- platform: dallas
address: 0xe201212fc6313b28
name: "Łazienka góra"
dallas_id: dallas_hub_5
- platform: dallas
address: 0xc2062017de107028
name: "Bufor 3/4"
dallas_id: dallas_hub_15
- platform: dallas
address: 0x4c0121131c9e7028
name: "Bufor dół"
dallas_id: dallas_hub_15
- platform: dallas
address: 0x250121134015a428
name: "Bufor góra"
dallas_id: dallas_hub_15
- platform: dallas
address: 0x9701144fcde2aa28
name: "Wejście"
dallas_id: dallas_hub_15
- platform: dallas
address: 0x0101144fd15baa28
name: "Przedpokój"
dallas_id: dallas_hub_15
- platform: dallas
address: 0x97062017ed6dce28
name: "Wykusz"
dallas_id: dallas_hub_15
- platform: dallas
address: 0x810121133e35fe28
name: "Jadalnia"
dallas_id: dallas_hub_15
- platform: dallas
address: 0xfa0121132b03cf28
name: "Bufor 2/4"
dallas_id: dallas_hub_15
switch:
- platform: gpio
name: "Panorama"
pin: 13
inverted: True
- platform: gpio
name: "Poddasze biurko"
pin: 14
inverted: True
- platform: gpio
name: "Jadalnia i wykusz"
pin: 27
inverted: True
- platform: gpio
name: "Przedpokój"
pin: 26
inverted: True
- platform: gpio
name: "Łazienka góra"
pin: 25
inverted: True
- platform: gpio
name: "Sypialnia"
pin: 33
inverted: True
- platform: gpio
name: "Taras północ"
pin: 32
inverted: True
- platform: gpio
name: "Salon"
pin: 22
inverted: True
- platform: gpio
name: "Przybudówka"
pin: 23
inverted: True
- platform: gpio
name: "Łazienka dół"
pin: 5
inverted: True
- platform: gpio
name: "Pompa podłogówki"
pin: 18
inverted: True
- platform: gpio
name: "Grzałka suszarki dół"
pin: 19
inverted: True
- platform: gpio
name: "Grzałka suszarki góra"
pin: 21
inverted: True
- platform: gpio
name: "Pompa grzałek"
pin: 12
inverted: True
captive_portal:
Proszę bardzo to jest stary. nadal działa ale nie mogę go aktualizować bo wywala błąd. Dlatego też nowego nie ma póki co.
macek
August 4, 2024, 6:39am
19
Może źle się wkleiło ale brakuje odpowiednich wcięć w konfiguracji.
tak to przy wklejeniu ale nie to jest problemem taka platforma jak dallas już nie istnieje teraz to jest one_wire. Tylko nie ma nigdzie instrukcji jak napisać hub.
szopen
August 4, 2024, 10:47am
21
naprawdę nigdy nie czytujesz dokumentacji??
robisz wszystko analogicznie stosując się do zmian (nie wnikam we wcięcia, kopiowałem z dokumentacji, więc w tym dalszym kawałku powinny być OK)
# Sensory temperatury
dallas:
- id: "dallas_hub_2"
pin: 2
update_interval: 10s
- id: "dallas_hub_4"
pin: 4
update_interval: 10s
- id: "dallas_hub_5"
pin: 16
update_interval: 10s
- id: "dallas_hub_15"
pin: 15
update_interval: 10s
sensor:
- platform: dallas
address: 0xa701143bb641aa28
name: "Salon kominek"
dallas_id: dallas_hub_2
- platform: dallas
address: 0xdf01144fc4b1aa28
name: "Salon pod oknem"
dallas_id: dallas_hub_2
zmieniasz w
one_wire:
- platform: gpio
pin: 2
id: dallas_hub_2
- platform: gpio
pin: 4
id: dallas_hub_4
- platform: gpio
pin: 5
id: dallas_hub_5
- platform: gpio
pin: 15
id: dallas_hub_15
sensor:
- platform: dallas_temp
address: 0xa701143bb641aa28
name: "Salon kominek"
update_interval: 10s
one_wire_id: dallas_hub_2
- platform: dallas_temp
address: 0xdf01144fc4b1aa28
name: "Salon pod oknem"
update_interval: 10s
one_wire_id: dallas_hub_2
itd.
1 Like