Właśnie skończyłem aktualizować ESPHome do najnowszej wersji (2024.6.2), by następnie przystąpić do aktualizacji kolejnych urządzeń. Jednak w przypadku aktualizacji 2024.6.0 (lub nowszej) sprawa się odrobinę komplikuje, bo przy każdym urządzeniu muszę lekko przerobić kod. I to niezależnie od tego, z jakiego zestawu czujników w przypadku danego urządzenia korzystam. Bo zmiany dotycząc m.in. mechanizmu OTA, z którego korzystam właściwie na każdym urządzeniu działającym na ESPHome.
Spis treści w artykule
Istotne (dla mnie) zmiany w ESPHome 2024.6.0
Co nie znaczy, że zmian nie ma również w kontekście czujników, z których korzystam, ale do tego dojdziemy za chwilę. W każdym razie nowe ESPHome już wprost nawiązuje do Home Assistant, więc od razu wiadomo, że to „jedna rodzina”. Przynajmniej na stornie projektu, bo reszta właściwie bez zmian. Ale zmiany w „brandingu” to nie jedyne zmiany. Dla mnie istotne są dwie…
Over-The-Air (OTA) w ESPHome
Pierwsza dotyczy mechanizmu OTA, a więc możliwości zdalnego wgrywania nowej wersji oprogramowania za pomocą odpowiedniego interfejsu generowanego przez urządzenie. Korzystam z tego rzadko, ale się zdarza, zwłaszcza tam, gdzie urządzenia pracują z dala od serwera z ESPHome.
Dotychczasowy kod YAML, z którego korzystałem, wyglądał tak:
ota:
password: !secret ota_password
Od wersji 2024.6.0 należy dodać jeszcze jedną linijkę:
ota:
platform: esphome
password: !secret ota_password
Więcej o tej zmianie na stronie projektu…
Dallas jako jeden z elementów 1-Wire
Kolejna zmiana dotyczy popularnych czujników temperatury Dallas DS18B20, które od teraz nie są już „klasą samą dla siebie”, ale są elementem większej rodziny czujników typu 1-Wire.
Dotychczasowy kod YAML, z którego korzystałem, wyglądał tak:
dallas:
- pin: ${dallas_pin}
update_interval: 60s
sensor:
- platform: dallas
address: ${dallas01_address}
[...]
Od wersji 2024.6.0 zamiast „dallas” mamy globalnie „one_wire”, a typ definiujemy bezpośrednio w sensorze:
one_wire:
- platform: gpio
pin: ${dallas_pin} # GPIO2
sensor:
- platform: dallas_temp
address: ${dallas01_address}
update_interval: 60s
[...]
I jest to zmiana zdecydowanie poważniejsza, niż w przypadku OTA, ale powody, jakie za nią stoją, są dość logiczne (wsparcie dla różnych czujników 1-Wire w ramach jednego komponentu). Więcej o tej zmianie na stronie projektu…
HTTP Request i weryfikacja certyfikatu SSL
Na koniec jeszcze jedna zmiana, czyli przeniesienie konfiguracji dotyczącej weryfikacji poprawności certyfikatu SSL w konfiguracji HTTP Request. Dotychczas odbywało się to na etapie konkretnego „zapytania”:
http_request:
useragent: esphome/device
timeout: 30s
.
button:
- platform: template
name: "${friendly_name} Brewfather AKT"
id: ${device_id}_brewfather_akt
on_press:
- http_request.post:
headers:
Content-Type: application/json
url: !secret brewfather_stream_url
verify_ssl: false
Od wersji 2024.6.0 definiujemy to globalnie, dla całej usługi (komponentu):
http_request:
useragent: esphome/device
timeout: 30s
verify_ssl: false
I to zmiana mocno specyficzna, ale akurat dla mnie ważna, bo z tego mechanizmu korzystam m.in. przy sterownikach do fermentacji, czy też „piwnej lodówki”.
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01