Wszystko o esphome | Webinsider - Internet widziany od środka ™

Tag: esphome

Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud

Na początku to miał być wręcz rutynowy artykuł o nowej wersji Home Assistant (2024.10), w której wśród różnych zmian, pojawiła się kolejna przydatna nowość, jeśli chodzi o zarządzanie wyglądem konkretnych sekcji. Życie jednak szybko to zweryfikowało, bo aktualizacja wysypała TTS (text-to-speech) m.in. w ramach usługi Google Cloud. Nadal działa TTS w ramach Google Transalte, ale tam głos jest taki, że… Jakby tego było mało, to pojawiły się ogólne problemy z komponentem Media Player (odtwarzanie mediów) w akcjach i skryptach. Chwilę po wersji 2024.10 pojawiła się wersja 2024.10.1, ale nic z tego, co wyżej opisałem, nie naprawiła.

ESPHome 2024.6.0, to m.in. istotne zmiany w mechanizmie OTA, HTTP Request, oraz obsłudze czujników temperatury Dallas DS18B20

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.

Home Assistant: Reload Config Entry, czyli prosty sposób na automatyzację ponownego wczytywania integracji

Mam kilka kamer, część z nich to kamery YI, z zainstalowanym oprogramowanie YI-Hack, z których część jest podłączona do serwera Home Assistant. Część działa właściwie non stop, a część jest wyłączana, w ramach ochrony prywatności. Tam, gdzie to mniej krytyczne, wyłączenie odbywa się programowo, przez odpowiedni przełącznik z poziomu Home Assistant lub panelu YI-Hack. W przypadku lokalizacji „bardziej wrażliwych”, kontola działania kamery jest sprzętowa, przed dodatkowy układ włączający i wyłączający zasilanie. Czasem taka kamera (lub inne urządzenie) potrafi być wyłączona naprawdę długo, co powoduje, że Home Assistant wywala ją z integracji i po ponownym włączeniu trzeba wczytać konfigurację tego urządzenia w integracji ponownie. Nie jest to trudne, ale trzeba o tym pamiętać, co w kontekście automatyzacji, bywa irytujące. Na szczęście jest na to proste rozwiązanie – odpowiednia automatyzacja.

ESPHome i błąd „Could not find one of 'package.json’ manifest files in the package”, czyli najprościej usunąć katalog „.esphome”

Zadzwonił do mnie kolega z pytaniem, czy wiem może, o co chodzi, bo podczas próby aktualizacji oprogramowania dla ESP w ESPHome pojawia mu się błąd „Could not find one of 'package.json’ manifest files in the package”, a standardowa metoda „clean build files” nie pomaga. Na jego szczęście, mogłem mu pomóc, bo nie tak dawno temu sam miałem podobny problem. Co więcej, nawet „na wszelki wypadek”, zrobiłem sobie notatki, jakby się okazało, że będę chciał napisać o tym problemie artykuł.

Opcja „restore_from_flash”, czyli sposób na zapamiętywanie ustawień w ESPHome na układach ESP8266

Jednym z częściej powtarzających się pytań/problemów, dotyczących ESPHome jest to, że wprowadzone zmiany – np. stan przełącznika, ustawiona temperatura termostatu – nie są zapamiętywane po ponownym uruchomieniu urządzenia. W takiej sytuacji najczęściej chodzi o ESPHome uruchomione na układzie ESP8266, gdzie faktycznie, w domyślnej konfiguracji zmiany nie są zapisywane w pamięci urządzenia (w przypadku ESP32 problem ten nie występuje, bo tu są domyślnie zapisywane). Na szczęście można to łatwo zmienić…

ESP32 Touch Pad, czyli prosty sposób nie tylko na dotykowe sensory (przyciski) m.in. w ESPHome i Home Assistant

Wprawdzie w mojej „stajni” urządzeń z rodziny ESP cały czas dominują różne modele ESP8266 (ze sporą przewagą NodeMCU v3 nad innymi, ze względu na świetną płytkę deweloperską, jaką można kupić do tych modułów), to coraz śmielej rozpychają się urządzenia z serii ESP32. Nie tylko dlatego, że ich cena często jest bardzo podobna, przy mocniejszych parametrach i większej liczbie GPIO. Czasem dlatego, że tylko z ESP32 pewne rozwiązania działają. Będą to m.in. takie rozwiązania jak I2S Audio, Bluetooth (BLE), czy bohater tego wpisu, czyli ESP32 Touch Pad.

Krótki przegląd wybranych nowości w Home Assistant 2024.3, czyli nowy typ widoku, nowy wykres w energii, oraz interaktywne uruchamianie skryptów

Kilka dni temu swoją premierę miał Home Assistant w wersji 2024.3, a więc była to kolejna już duża aktualizacja w tym roku. Zmian jak zawsze trochę jest, w tym 3, na które mocniej zwróciły moją uwagę. Nawet jeśli jedna to tylko ciekawostka, a dwie pozostałe… No cóż, niekoniecznie działają, a już na pewno niekoniecznie tak, jakbym chciał.

Jeśli korzystasz z ESPHome i czujników BME280, to po aktualizacji ESPHome do wersji 2024.2.0, musisz dokonać zmian w konfiguracji platformy dla czujnika BME280 (I2C)

Rano dokonałem aktualizacji ESPHome do najnowszej wersji, czyli 2024.2.0, po czym rutynowo zacząłem aktualizować kolejne urządzenia. I tak się złożyło, że już na pierwszym urządzeniu napotkałem błąd związany z czujnikiem BME280 (temperatura, ciśnienie i wilgotność powietrza). A że ten czujnik jest przeze mnie wykorzystywany dość często, to problemu nie można było zostawić bez rozwiązania.

Dzwonek na bazie ESP8266 i ESPHome, z integracją z Home Assistant, czyli inteligencja dzwoni do drzwi

Nieprzypadkowo się mówi, że tymczasowe rozwiązania często stają się rozwiązaniami stałymi, i to nie tylko z powodu przyzwyczajenia. I tak właśnie było z dzwonkiem na furtce – po przeprowadzce, by był tymczasowy dzwonek, wykorzystałem istniejący przycisk, do którego doprowadziłem zasilanie 5V i dodałem najzwyklejszy buzzer (brzęczyk), który sobie popiskiwał, gdy ktoś nacisnął przycisk, tym samym zamykając obwód. Proste, ale skuteczne, bo nawet swój system zasilania awaryjnego posiadał, w postaci układu z akumulatorkiem 18650. W końcu jednak nadeszła pora, by brzęczyk był bardziej smart.

Urządzenie iSpindel wysyła po MQTT dane do Home Assistant, a ten po HTTP wysyła je do Brewfather, czyli wirtualny iSpindel

W artykule „Sterownik do piwnej lodówki, czyli grzanie i chłodzenie (brzeczki, piwa), na bazie ESPHome i Home Assistant, z integracją z Brewfather” wspomniałem, że w mojej – coraz mniej tylko testowej – migracji z BrewPiLess do ESPHome, m.in. celu lepszej integracji z Home Assistant, jest jeszcze jedna luka, a mianowicie urządzenie iSpindel, które w standardzie przesyłało informacje do BrewPiLess, a BrewPiLess dalej słał jej do Home Assistant (MQTT) i Brewfather (HTTP). Po zastąpieniu BrewPiLess przez ESPHome skonfigurowałem urządzenie iSpindel tak, by przekazywało informacje bezpośrednio to Brewfather, co jest dla mnie ważniejsze, niż to, by mieć je (tylko) w Home Assistant. W końcu jednak przyszła pora, by również tym tematem się zająć…

Home Assistant porzuca HAOS i wraz z ESPHome i tunelem od Cloudflare idzie w kontenery, czyli Docker Compose w akcji

Kolega na razie cały czas walczy z ponownym przywróceniem serwera Home Assistant Operating System (HAOS) do działania, ale coraz śmielej przebąkuje, że chyba pora mnie posłuchać, i przejść na Dockera, czyli Home Assistant Container. Zwłaszcza że zapowiedziałem mu wsparcie w tym procesie. A skoro tak, to pomyślałem, że może warto zrobić z tego artykuł. Tak więc dziś na tapet leci Home Assistant, ESPHome i bonusem tunel od Cloudflare (opcjonalnie), w wersji kontenerowej (Docker).

Gdy ESPHome podczas kompilacji oprogramowania blokuje cały system (komputer), można ograniczyć maksymalną liczbę jednoczesnych procesów kompilacji

Obecnie rolę serwera – od strony sprzętu – dla m.in. Home Assistant i ESPHome pełni u mnie Raspberry Pi 3B+, czyli nie jest to może demon wydajności, ale na moje potrzeby obecnie wystarcza. Zresztą z takiej samej Maliny korzysta kolega, który przyczynił się do pomysłu na ten artykuł. Z tą różnicą, że ja Home Assistant i ESPHome mam w ramach Dockera (Home Assistant Container), a kolega w ramach dedykowanego systemu, czyli Home Assistant Operating System (HAOS). A poszło o to, o co przy takim demonie wydajności mogło pójść, czyli o wydajność. A konkretnie obciążenie Raspberry Pi przy kompilowaniu oprogramowania dla płytek (np. ESP8266, ESP32) z poziomu ESPHome.

Pin is used in multiple places, czyli niby mała zmiana w nowym ESPHome, która może poważnie zaskoczyć

Poranki, takie jak np. 1 stycznia to dobra okazja, by korzystając z tego, że sporo osób dłużej śpi, wykonać na spokojnie prace serwisowe, aktualizacje… Tak więc wczoraj zapuściłem rutynowe aktualizacje serwerów i usług na nich, w tym domowe Raspberry Pi, na którym działa m.in. Home Assistant i ESPHome. Wszystko przeszło sprawnie, przynajmniej do momentu, gdy zacząłem aktualizować urządzenia z ESPHome, po aktualizacji ESPHome na serwerze. Przy próbie aktualizacji jednej z testowych płytek ESP32 pojawił się błąd. Było to o tyle dziwne, że w kodzie nic nie zmieniałem, więc jak nic, zmiana musiała nastąpić w samym ESPHome…

Nowe ustawienia zaawansowane w BrewPiLess 4.3.1 (sterownik fermentacji na ESP8266 i ESP32)

Są w życiu takie sploty wydarzeń, że choć wiadomo, że przypadek, to… 12 grudnia opublikowałem artykuł „Sterownik do piwnej lodówki, czyli grzanie i chłodzenie (brzeczki, piwa), na bazie ESPHome i Home Assistant, z integracją z Brewfather”, w którym poza informacją, że w ramach testów oprogramowanie sterownika fermentacji (i piwnej lodówki) zmieniłem z BrewPiLess na ESPHome wspierane przez Home Assistant, wskazałem kilka powodów, dlaczego w ogóle dokonałem takiej zmiany, nawet jeśli testowej, skoro w BrewPiLess jestem od lat zadowolony. A tu niespodzianka, bo 15 grudnia pojawia się BrewPiLess w wersji 4.3.1, w którym część „minusów” znika. I choć oczywiście to przypadek, to splot wydarzeń dość zabawny… ;-)

Sterownik do piwnej lodówki, czyli grzanie i chłodzenie (brzeczki, piwa), na bazie ESPHome i Home Assistant, z integracją z Brewfather

Z racji tego, że po kilku latach przerwy wróciłem do warzenia piwa, to używany przez ten czas moduł działający na ESP8266 i oprogramowaniu BrewPiLess, pilnujący, by „piwna lodówka” (leżaki) miała odpowiednią temperaturę, przeszedł solidną rewitalizację. I choć spisuje się więcej niż dobrze, to testowo kontrolę nad piwną lodówką, jak i fermentacją piwa, postanowiłem tym razem powierzyć układowi opartemu na innym oprogramowaniu.

Błąd aktualizacji OTA w ESPHome dla ESP8266 ESP-01(S) i ogólne problemy z ESP32 S2 mini, czyli esptool przychodzi z pomocą

Z różnych układów ESP8266 korzystam od dawna. Od niedawna zacząłem wykorzystywać też nowsze układy ESP32. Dodatkowo od jakiegoś czasu korzystam z Home Assistant, gdzie przenoszę zarządzanie większością elementów tzw. „inteligentnego domu” (sic! ;-)), a więc i wcześniej działające najczęściej na autorskim kodzie układy ESP migruję do ESPHome (poza BrewPiLess i iSpindel, ale to inna bajka). I choć w większości przypadków ta migracja jest nie tylko bezproblemowa, to jeszcze jestem pozytywnie zaskoczony wygoda pracy z ESPHome, nie tylko w połączeniu z Home Assistant (tylko ten nieszczęsny YAML i zabawa ze spacjami… ;-)). Nie oznacza to jednak, że nie pojawiają się problemy wyzwania…

Loading

Pin It on Pinterest