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

Kategoria: IoT

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.

Identyfikator wyzwalacza w automatyzacjach w Home Assistant, czyli prosty sposób na zmniejszenie liczby (tworzonych) automatyzacji

Jak przekonałem się niejednokrotnie, klątwa wiedzy krąży, i nie zawsze co dla nas oczywiste, jest takie dla wszystkich. I to czasem nawet bardziej zaawansowanych, doświadczonych… I tak dziś na tapet bierzemy Home Assistant i jeden z tych tematów, co gdy już wiemy, to wydaje się to nie tylko proste, ale i oczywiste. Ale jak sam się przekonałem kilka dni temu, rozmawiając z innymi użytkownikami Home Assistant, nie jest to takie oczywiste i raczej słyszałem „o…”, a nie „e, znam”.

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.

Przegląd wybranych nowości w Home Assistant 2024.1, czyli zmiany w konfiguracji automatyzacji, lekka modyfikacja karty termostatu, oraz System Monitor „wyrzucony” z pliku YAML

Pierwsza aktualizacja Home Assistant w 2024 za nami. A właściwie to nawet dwie, bo chwilę po 2024.1 pojawiła się wersja 2024.1.1, która coś tam jeszcze naprawia czy koryguje. I mógłbym uznać, że aktualizacja jak aktualizacja, więc zaktualizować, korzystać, ale niekoniecznie tworzyć z tego artykuł. Ale aktualizacja wprowadza niby drobną, ale dla mnie zdecydowanie sensowną zmianę w karcie termostatu, o której pisałem przy okazji artykułu „sterownik do piwnej lodówki, czyli grzanie i chłodzenie (brzeczki, piwa), na bazie ESPHome i Home Assistant, z integracją z Brewfather”, czyli artykułu o testowym przejściu ze sterownikiem od „piwnej lodówki” z BrewPiLess na Home Assistant. Choć oczywiście, to nie jedyna nowość/zmiana…

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.

BrewPiLess z iSpindel, czyli jeszcze bardziej szczegółowa kontrola i analiza procesu fermentacji (nie tylko) piwa domowego

Jak już napisałem w opublikowanej „chwile temu” notce o promocyjnej cenie na usługę Brewfather Premium – po dłuższej przerwie wróciłem do warzenia piwa (w domu). Napisałem też, że oprócz Brewfather (w wersji Premium) proces warzenia, a właściwie w tym przypadku to głównie fermentacji, wspiera BrewPiLess oraz iSpindel, czyli naprawdę pomocny duet przy fermentacji, nie tylko przy kontroli jej temperatury, ale monitorowania całego przebiegu. I choć iSpindel bez problemu można podłączyć bezpośrednio do usługi Brewfather, to ja mam podłączony do BrewPiLess, i dopiero przez BrewPiLess (BPL) informacje trafiają do Brewfather.

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…

Wgrywanie starszej wersji oprogramowania do kamery YI 1080p Home Camera z pomocą YI-Hack (i kopii zapasowej)

Korzystając z opisywanej na początku listopada promocji (nawet w Dzień Singla, czy Black Friday nie dało się kupić taniej) dokupiłem sobie kolejne 2 kamery YI 1080p Home Camera. Przyszły relatywnie szybko, bo wysyłka z Hiszpanii. Równie szybko zabrałem się za ich konfigurację, bo miałem dla nich już zaplanowane przeznaczenie. Przy pierwszym uruchomieniu, podłączeniu do WiFi pojawiło się pytanie o aktualizację, którą niestety zrobiłem. Niestety, bo okazało się, że nowej wersji oprogramowania nie ma na liście wersji wspieranych przez YI-Hack, czyli dodatkową modyfikację do tych kamer, która dość radykalnie zmienia ich możliwości. I mówię to jako subskrybent płatnej wersji usługi YI/Kami Cloud.

Loading

Pin It on Pinterest