Informacje o zmianach
Co nowego w boneIO Black?
Co nowego w aplikacji?
Na tej podstronie znajdziesz wszelkie informacje o nowych wersjach aplikacji jak i zmianach w nich zachodzących.
🚀 Instrukcje aktualizacji
- Użyj auto-aktualizacji w WebUI — przejdź do Ustawienia → Konserwacja → Aktualizacja oprogramowania i kliknij "Aktualizuj do 1.6.0"
- Lub przez SSH:
pip install --upgrade boneio==1.6.0 - Zrestartuj aplikację
Przechodzisz z 1.5? Najpierw zaktualizuj do 1.5.6 i przejdź przez listę kontrolną.
boneIO v1.6.0 — informacje o wydaniu - Najnowsze wydanie!
Wersja 1.6 to praca nad dostosowaniem boneIO Black do unijnego Aktu o cyberodporności (CRA). Nie jest to deklaracja zgodności — to inżynieria, która musi istnieć, zanim taką deklarację będzie można złożyć. Wydanie zamyka ustalenia niezależnego przeglądu bezpieczeństwa wersji 1.5.0, a każda poprawka wychodzi jako coś, co widać, a nie jako cicha łatka. Nowy sterownik jest bezpieczny od pierwszego uruchomienia: panel tylko przez HTTPS, żadnych domyślnych haseł i konto administratora tworzone w kreatorze. Dokłada też harmonogramy, przełączniki wirtualne, symulację obecności i aktualizacje całego systemu z panelu.
To samo wydanie prostymi słowami, z tym, co zrobić po aktualizacji: Co nowego w 1.6. Aktualizacja sterownika z 1.5: lista kontrolna.
Zanim zaktualizujesz
- Najpierw zaktualizuj do 1.5.6. Tylko 1.5.6 czysto przekazuje przeglądarkę nowemu panelowi; ze starszych wersji stary panel może wracać po aktualizacji, dopóki nie naciśniesz Ctrl+Shift+R.
- Miej fizyczny dostęp do sterownika — czytnik kart SD albo konsolę szeregową. Ta aktualizacja zmienia sposób, w jaki boneIO uzyskuje uprawnienia administratora w systemie.
- Zachowaj kopię konfiguracji (folder
/home/boneio/boneio). - Zarezerwuj do godziny i nie odcinaj zasilania. Migracje systemu uruchamiane przy starcie mogą tyle trwać na sterowniku z 1.5.x; wyświetlacz i panel mówią, co się dzieje. Zalecamy UPS.
Panel wymaga teraz konta. Sterownik, który go nie ma, nie odpowiada na żadne żądanie API, dopóki konta nie utworzysz — dotyczy to także sterownika przechodzącego prosto z 1.5 na późniejszą wersję. Zobacz Konta i dostęp.
✨ Nowe funkcje
Konta i role. Kreator pierwszego uruchomienia tworzy konto administratora,
z opcjonalnym importem istniejącej konfiguracji. Dwie role: administrator
i tylko do odczytu — które nadal może sterować instalacją, tylko nie może jej
przekonfigurować. Odzyskiwanie hasła przez SSH poleceniem
boneio accounts reset.
Przegląd bezpieczeństwa. Ustawienia → Dostęp → Bezpieczeństwo pokazuje, co
na Twoim sterowniku jest jeszcze otwarte, i prowadzi do kontrolki, która to
zmienia. Ten sam stan trafia do Home Assistant jako
binary_sensor.<urządzenie>_security.
Diagnostyka. Strona Logi staje się Diagnostyką i zyskuje paczkę dla wsparcia do wysłania mailem — konfiguracja, logi i stan usług w jednym pliku, z usuniętymi hasłami — oraz okno diagnostyczne, które podnosi logowanie do DEBUG na kilka minut i samo się zamyka. Skany magistrali przeniosły się tu z Narzędzi.
Jedno drzewo ustawień. Zakładka System zniknęła; wszystko jest w Ustawieniach, pogrupowane według pytania, które zadajesz. Filtr, zwijane grupy i ustawienia otwierające się tam, gdzie je zostawiłeś.
Harmonogramy. Ustawienia → Sterowanie → Harmonogramy uruchamiają akcje
same, o godzinie zegarowej albo przy zdarzeniu słonecznym (wschód, zachód,
zmierzchy, złota i niebieska godzina), z przesunięciem, losowym rozrzutem,
warunkami i granicami earliest/latest. Każdy harmonogram pokazuje następne
odpalenie, ostatni wynik i historię wykonań, a do Home Assistant trafia jako
przełącznik z czujnikami diagnostycznymi.
Zobacz Harmonogramy.
Lokalizacja i słońce. Sekcja location:, ustawiana w Ustawienia →
Urządzenie → Lokalizacja (ze strefy czasowej, ręcznie albo na opcjonalnej
mapie), napędza warunki słoneczne i sześć encji słońca.
Zobacz Lokalizacja.
Przełączniki wirtualne. Flagi włącz/wyłącz bez przekaźnika, z akcjami
on_turn_on / on_turn_off, widoczne w Home Assistant jako przełączniki.
Zobacz Przełączniki wirtualne.
Symulacja obecności. Kreator z czterema pytaniami, który tworzy jeden
przełącznik wirtualny, harmonogram na każde światło i jeden, który wszystko gasi; probability: w akcjach
sprawia, że kroki czasem się nie wykonują.
Zobacz Symulacja obecności.
Czytelne nazwy. Harmonogramy i przełączniki wirtualne można pisać z name:, a identyfikator powstaje
z nazwy; id: nadal działa.
Certyfikat HTTPS. Wgraj własny certyfikat albo pobierz urząd certyfikacji urządzenia, żeby mu zaufać; certyfikat urządzenia jest teraz ważny sześć miesięcy zamiast dwunastu godzin. Zobacz Certyfikat HTTPS.
Tryb ratunkowy. Konfiguracja, która się nie wczytuje, albo start, który trzy razy z rzędu się wysypie, otwiera panel ratunkowy z miejscem błędu, edytorem, logiem, przywracaniem kopii i restartem — zamiast pętli restartów. Zobacz Rozwiązywanie problemów.
Hasła brokera MQTT. Zmiana hasła brokera dla boneio może od razu
zaktualizować konfigurację boneIO i połączyć się ponownie, więc urządzenie nie
traci już połączenia.
Serwery NTP. Zegar może korzystać z serwera czasu w Twojej sieci.
Rewizja sprzętu 1.1 w pełni. Mapy wyprowadzeń dla sterowników 1.1, które mają brzęczyk. Reset fabryczny przywraca konfigurację właściwą dla typu i wersji sterownika.
Aktualizacje całego systemu z panelu. Ustawienia → Konserwacja aktualizuje pakiety Debiana i jądro, a nie tylko boneIO, z szacunkiem, ile to potrwa. Zobacz System.
MQTT po TLS, w obie strony. boneIO może łączyć się z brokerem przez TLS,
a własny broker Mosquitto na sterowniku może przyjmować połączenia szyfrowane.
Hasło MQTT samo przenosi się z mqtt.yaml do secrets.yaml, a zapis strony MQTT
go tam zostawia. MQTT i Loxone (UDP) mają teraz osobne pozycje w ustawieniach.
Hasło SSH z panelu. Strona Konta użytkowników ma kartę Hasło logowania SSH — nie trzeba logować się po SSH, żeby je zmienić.
Panel na telefonie. Dolny pasek nawigacji na telefonach i tabletach. Wyjścia i wejścia można pogrupować w jeden panel na pomieszczenie.
Modbus. Urządzenie, które przestało odpowiadać, jest oznaczone jako niedziałające; wybór urządzenia z wyszukiwarką i filtrem „Tylko z błędami"; urządzenia można grupować według pomieszczeń.
Diagnostyka → Dysk. Pokazuje, co zajmuje pamięć sterownika, i pozwala zwolnić nieużywane obrazy Node-RED oraz pamięć podręczną pakietów.
Szybszy start, lepsze znoszenie zaniku prądu. Po zaniku zasilania strona mówi „boneIO startuje…" i sama się odświeża; uszkodzona partycja rozruchowa nie zatrzymuje już startu; podczas długich migracji wyświetlacz pokazuje Do not power off.
Node-RED wymaga administratora boneIO. Edytor przepływów to wykonywanie kodu, więc uwierzytelnia się teraz przez konta boneIO i wpuszcza wyłącznie administratorów.
🔒 Bezpieczeństwo
- Próby logowania są throttlowane — dziesięć na pięć minut, po adresie i po koncie. Opóźnienie, nigdy blokada.
- Skonfigurowane hasła są maskowane w API i usuwane z podglądu logów.
- Panel odrzuca żądania zmieniające stan, przychodzące z innej strony.
- Wykrywanie urządzeń przyjmuje wyłącznie adresy lokalne na portach, których te protokoły faktycznie używają, i nigdy nie zwraca tego, co znalazło.
- Osadzanie panelu w innych stronach jest domyślnie ograniczone do tego urządzenia. Dodatek do Home Assistant z tym działa; dashboard osadzający sterownik wprost dopisuje swój adres w Ustawienia → Dostęp → Bezpieczeństwo.
- Plik haseł brokera MQTT nie jest już czytelny dla wszystkich.
- Nowe obrazy nie mają wspólnych haseł: konto SSH jest fabrycznie zablokowane i jednorazowo przejmuje hasło administratora z kreatora pierwszego uruchomienia; konta MQTT dostają losowe hasło dla każdego urządzenia.
- Panel można schować za proxy HTTPS, żeby nie odpowiadał otwartym tekstem w sieci; nowe obrazy są tak skonfigurowane.
- Panel nigdy już nie pyta o hasło systemowe (sudo), a użytkownik
boneionie jest już w grupiedocker. - Logowanie SSH jest spowalniane, a zgadywanie hasła SSH kosztuje zgadującego czas.
- Zmiana hasła wylogowuje pozostałe sesje tego konta. Pięć błędnych haseł w jednej sesji ją wylogowuje.
- Zmiany kont, przywracanie kopii zapasowej, resety fabryczne, aktualizacje i certyfikaty proszą o hasło ponownie, jeśli nie było wpisane w ciągu ostatnich 10 minut.
- Bez stałej drogi do roota: uprzywilejowane operacje idą przez małe narzędzia systemowe z zamkniętą listą działań. Migracje systemu są podpisywane przy wydaniu i sprawdzane na sterowniku, zanim cokolwiek się uruchomi.
- Próby zgadywania haseł trafiają do Home Assistanta jako encja „Security events".
⚠️ Zmiany niekompatybilne
- Panel i API wymagają konta (patrz wyżej).
- Rolety przy pełnym otwarciu lub zamknięciu jadą o około 10% dłużej, do krańcówki (
endstop_overrun, domyślnie 10), i czekają 500 ms przed zmianą kierunku. Dotyczy to też istniejących rolet; dla silnika bez krańcówek ustawendstop_overrun: 0. Zobacz Rolety. boneio_output: buzzerjest odrzucane na sterowniku ustawionym jako wersja 1.0, który nie ma brzęczyka.- Strony System, Logi i Narzędzia oraz zakładka Edytor YAML przeniosły się do Ustawień i Diagnostyki; stare linki przekierowują.
🐛 Poprawki błędów
- Powtarzające się linie logu zwijają się niezależnie od położenia, a nie tylko gdy sąsiadują.
- Wybór strefy czasowej pokazywał listę ściśniętą do jednego wiersza, przez co większość stref była nieosiągalna.
- Panel oznacza to konto brokera, którym boneIO faktycznie się loguje, zamiast
zawsze oznaczać
boneio. !secretnie psuje już migracji cache'u WLED.- Home Assistant: encje przypisane do pomieszczenia zostają pod jego urządzeniem
(np. „boneIO Black 24x16A - Salon"); rolety zachowują swój typ;
show_in_ha: falsejest respektowane; aktualizacja nie tworzy duplikatów; zapis jednej sekcji (wejścia, wyjścia, rolety) nie usuwa już encji, które do niej nie należą. - Binarne czujniki GPIO publikują stan jako zachowany (retained), więc Home Assistant zna go od razu po restarcie.
- Aktualizacja systemu na sterowniku z małym eMMC nie zatrzymuje się już na „za mało miejsca" z powodu wcześniej pobranych pakietów.
- Rolety dokładniej zatrzymują się, zmieniają kierunek i dojeżdżają do krańców.
- Sterowniki v0.2/v0.3:
IN_26,IN_27iIN_28znów działają.
Znane ograniczenia
- Konto
boneiozachowuje pełne sudo przez grupęadminz bazowego obrazu BeagleBone, za hasłem konta. To droga właściciela do powłoki roota; jej usunięcie zostawiłoby do napraw tylko kartę SD albo konsolę szeregową. - Sterownik przejęty przed tą aktualizacją nie zostaje przez nią naprawiony.
boneIO v1.4.4 Release Notes
v1.4.2 (2026-06-03)
🐛 Naprawione błędy
Asystent migracji systemu (boneio-migrate)
- Tolerancyjne
systemctl reload/restart:Asystent migracji nie kończy się już niepowodzeniem podczas przeładowywania lub restartowania usługi, która nie jest aktualnie aktywna. Naprawia to krytyczny problem, przez który plik setup_boneio.sh nie mógł zastosować migracji podczas budowania obrazu, ponieważ mosquitto było w tym czasie zatrzymane.
✨ Nowe funkcje
Komunikaty wyłączania na ekranie OLED
- Usługa wyłączania w późnej fazie (boneio-oled-shutdown.service): Nowa usługa systemd, która wyświetla komunikat "System stopped. Safe to unplug." na ekranie OLED po wyłączeniu sieci podczas zamykania systemu.
- ExecStopPost reagujący na restart: boneio.service pokazuje teraz komunikat "Shutting down..." tylko podczas rzeczywistego wyłączania systemu. Podczas wykonywania komendy systemctl restart boneio, ekran OLED pomija komunikat o zatrzymaniu i przechodzi bezpośrednio do "is starting...".
📦 Migracja: v1.4.3
To wydanie zawiera migrację v1.4.3, która automatycznie:
- Instaluje usługę boneio-oled-shutdown.service (komunikat wyłączania na OLED w późnej fazie)
- Aktualizuje usługę boneio.service o sekcję ExecStopPost reagującą na wyłączenie systemu
Migracja uruchamia się automatycznie przy pierwszym starcie po aktualizacji.
v1.4.2
v1.4.2 (2026-06-03) Hotfix — obsługa obiektów TimePeriod w formularzach wejściowych.
🐛 Naprawione błędy
- Crash formularza EventForm — funkcja
parseMs()wywoływała metodę.match()na obiektach TimePeriod ({milliseconds: 220}) zamiast na ciągach znaków, co powodowało błądUncaught TypeError: val.match is not a function. Zastąpiono istniejącym narzędziem pomocniczymconvertTimeperiodToMilliseconds(). - Błędny bounce_time w BinarySensorForm — warunek
typeof data.bounce_time === 'number'zawsze zwracał fałsz dla obiektów TimePeriod, wyświetlając domyślną wartość 120ms zamiast wartości skonfigurowanej. Naprawiono przy użyciuconvertTimeperiodToMilliseconds().
🛡️ Ulepszenia
- Hook pre-commit — Dodano sprawdzanie typów TypeScript za pomocą
tsc --noEmitprzed uruchomieniem vitest, aby wychwycić problemy powodujące błędy budowania (nieużywane zmienne, błędy typów) jeszcze przed zatwierdzeniem zmian (commit).
v1.4.1
v1.4.1 (2026-06-03) Wydanie poprawkowe (hotfix) z odnowieniem certyfikatu SSL i ulepszeniami wykresów Modbus.
🐛 Naprawione błędy
- Odnawianie certyfikatu SSL — funkcja
_cert_needs_refresh()sprawdzała czas modyfikacji pliku (st_mtime) zamiast rzeczywistej daty wygaśnięcia X.509. Jeśli plik certyfikatu został zmodyfikowany przez operacje backup/copy/rsync, mtime resetował się i certyfikat nigdy nie był odnawiany, nawet po wygaśnięciu. Teraz aplikacja analizuje prawdziwą datę "Not After" przy użyciu openssl x509 i odświeża certyfikat, gdy wygasa on w ciągu 14 dni. - Wykresy sparkline Modbus dla liczników energii — funkcja
shouldRenderHistory()dopuszczała tylko czujniki temperatury/wilgotności (na podstawie wzorca nazwy lub jednostek %, °C, rh%). Liczniki energii z jednostkami takimi jak W, kWh, V, A, Hz, VA, var były wykluczone. Zmieniono to tak, aby pokazywać wykresy dla wszystkich numerycznych czujników tylko do odczytu, które posiadają zdefiniowaną jednostkę miary.
v1.4.0
Changelog — v1.4.0 v1.4.0 (2026-06-03)
Główne wydanie — obsługa urządzeń zdalnych, przebudowa systemu podlewania, konfiguracja wspomagana przez AI, monitorowanie systemu i dziesiątki poprawek błędów.
🔌 Urządzenia zdalne (Remote Devices)
- Zdalne wyjścia (remote_outputs) — rejestruj przełączniki i światła ze zdalnych urządzeń ESPHome/MQTT jako pełnoprawne wyjścia z obsługą ON/OFF/TOGGLE, przypisywaniem do obszarów i grupami blokad (interlock).
- Kontrola jasności — zdalne światła ESPHome otrzymują suwak jasności działający w czasie rzeczywistym z płynnymi animacjami i zabezpieczeniem przed zbyt częstymi zapytaniami API (debounce).
- Zdalne czujniki binarne — subskrybuj czujniki binarne na urządzeniach ESPHome, aby używać ich jako wyzwalaczy akcji.
- Obsługa jasności WLED — urządzenia WLED obsługują kontrolę jasności poprzez API urządzeń zdalnych.
- Zdalne pochylanie rolet — akcje pochylania lameli (tilt) dla żaluzji weneckich na zdalnych urządzeniach boneIO.
🌿 Podlewanie (Irrigation)
- Wielostrefowy sterownik podlewania — harmonogramy, interwały dla poszczególnych stref (
run_every_n), zarządzanie źródłami wody, obsługa głównego zaworu/pompy oraz pełny interfejs kokpitu z odliczaniem czasu strefy w czasie rzeczywistym. - Sekwencyjna aktywacja źródeł wody — źródła wody z wieloma wyjściami aktywują się po kolei z konfigurowalnymi opóźnieniami (
output_start_delay,output_stop_delay). Dezaktywacja odbywa się w odwrotnej kolejności. - Aktywacja uwzględniająca blokady (interlock) — jeśli wyjście zostanie zablokowane przez interlock podczas aktywacji źródła wody, już aktywowane wyjścia są wycofywane i wysyłane jest powiadomienie o błędzie.
- Przełącznik włączenia strefy — każda strefa może być indywidualnie włączona/wyłączona. Odzwierciedlone w kokpicie HA.
- Licznik pominięć run_every_n dla stref — strefy z wartością
run_every_n > 1prawidłowo śledzą swoje liczniki pominięć w cyklach wielokrotnych. Atrybutynext_run_iso,next_run_pretty,skip_countsą publikowane jako atrybuty encji zaworu w HA. - Czujnik czasu następnego uruchomienia — czujnik z
device_class=timestamppokazujący, kiedy nastąpi kolejne zaplanowane uruchomienie (np. "za 19 godzin"). - Generator YAML dla kokpitu HA — eksport kompletnego kokpitu Lovelace za pomocą jednego kliknięcia dla każdego kontrolera, zawierający strefy, czasy trwania, harmonogramy i elementy sterujące.
- Asystent AI ds. podlewania — oparty na AI kreator konfiguracji do tworzenia ustawień podlewania na podstawie opisów w języku naturalnym.
- Poprawka strefy czasowej harmonogramu — czasy harmonogramu są teraz traktowane jako czas lokalny zamiast UTC.
- Dynamiczny maksymalny czas trwania — maksymalny czas trwania strefy bazuje na skonfigurowanym czasie + 20 min (ograniczony do zakresu [30, 120]) zamiast zakodowanej na sztywno wartości 1440 min.
- Optymalizacja dla jednej strefy — kontrolery z jedną strefą pomijają niepotrzebne encje
auto_advance,reverseinext_valve. - Szybkość reakcji przy uruchomieniu ręcznym — kliknięcie "Start" reaguje natychmiast; opóźnienia pompy/zaworu nie blokują już interfejsu użytkownika.
📊 Monitorowanie systemu
- Czujniki systemowe (CPU, Dysk, Pamięć) — czujniki procentowe z bogatymi atrybutami:
- Dysk:
disk_total_gib,disk_used_gib,disk_free_gib - Pamięć:
memory_total_gib,memory_used_gib,memory_available_gib
- Dysk:
- Natychmiastowe wartości czujników przy ładowaniu UI — czujniki systemowe są uwzględniane w początkowym stanie WebSocket, eliminując trwający 10-60 sekund stan pustego pola po otwarciu UI.
- Atrybuty czujników w UI — karta
GraphCardwyświetla kompaktowe kafelki z atrybutami(np. Total: 28.65 GiB | Used: 2.28 GiB | Free: 25.19 GiB)z dynamicznym wyodrębnianiem jednostek. - HA
json_attributes_topic— czujniki systemowe publikują atrybuty jako JSON, widoczne w oknie "Więcej informacji" w HA bez tworzenia dodatkowych encji.
🏠 Integracja z Home Assistant
suggested_areaw wykrywaniu HA — podlewanie i inne encje automatycznie przypisują się do właściwego obszaru.json_attributes_topic— czujniki systemowe udostępniają szczegółowe metryki jako atrybuty encji HA.- Reorganizacja kategorii encji — encje zostały umieszczone w odpowiednich kategoriach HA (diagnostyczne, konfiguracyjne).
- Ponowne publikowanie stanów przy ponownym połączeniu MQTT — zapewnia, że HA zawsze posiada najnowszy stan.
- Grupy wyjść w HA — grupy są widoczne wraz z należącymi do nich wyjściami składowymi.
- Blokada zdalnego wyjścia — weryfikacja blokad (interlock) jest wymuszana dla zdalnych wyjść oraz jasności ściemniaczy (dimmer).
🖥️ Wyświetlacz OLED
- Reset licznika wygaszacza ekranu — odliczanie wygaszacza ekranu resetuje się teraz od ostatniego naciśnięcia przycisku, a nie od pierwszego.
- Poprawka zachowania uśpienia — naprawiono przełączanie trybu uśpienia pojedynczym kliknięciem.
🎛️ Rolety / Żaluzje (Covers)
- Przywracanie pozycji lameli — nowa opcja
tilt_restore_after_closeautomatycznie przywraca poprzedni kąt nachylenia lameli po przejściu do pozycji pośredniej. Pomijane w skrajnych pozycjach (0% / 100%). - Poprawka rozwijanego menu przekaźnika rolet — filtr akceptuje teraz wyjścia o typie
output_typeustawionym nacover,nonelub brakujące. - Precyzja pozycji rolety — naprawiono błąd zaokrągleń float/int powodujący dryfowanie pozycji podczas ruchu.
🤖 Asystent konfiguracji AI
- Świadomość typu wyjścia — AI prawidłowo rozróżnia światła (akcje jasności) od przełączników (toggle/on/off).
- Wskazówki dot. urządzeń zdalnych — AI wie o istnieniu zdalnych wyjść, rolet oraz czujników binarnych.
- Filtr typu zaworu podlewania — AI jawnie unika wyjść typu "light" (światło) przy konfiguracji podlewania.
🧩 Ulepszenia UI / UX
- Zmiana typu wejścia bez restartu — przełączanie między "Encją zdarzenia" (Event Entity) a "Czujnikiem binarnym" (Binary Sensor) odnosi skutek natychmiastowo.
- Poprawka nawigacji w InputsView — długie naciśnięcie wejścia poprawnie przenosi do jego ustawień (a nie do obszarów).
- Schowek w ramce iframe dodatku HA — naprawiono działanie
navigator.clipboard.writeText()w ramce iframe HA ingress poprzez wprowadzenie rozwiązania rezerwowego (fallback) zdocument.execCommand('copy'). - Grupowanie sekcji paska bocznego — sekcje zdalne oraz sekcje wymagające restartu zostały zgrupowane wizualnie.
- Duplikowanie szablonów — głębokie klonowanie szablonów ze skorygowanymi identyfikatorami ID.
- Strefy podlewania — zwijany akordeon z przyciskami zmiany kolejności i dodawaniem na końcu listy.
- Wykresy na żywo — wykresy sparkline w widokach czujników i Modbus.
- Tymczasowe wyłączenie urządzenia Modbus — możliwość wyłączenia pojedynczego urządzenia Modbus bez usuwania go z konfiguracji.
🐛 Naprawione błędy
- Desynchronizacja licznika pominięć
run_every_nw podlewaniu — efekty uboczne funkcji_eligible_zones()powodowały rozbieżności w licznikach. Rozdzielono proces na czysty filtr + aktualizację licznika w jednym wywołaniu. - Nieaktualna pamięć podręczna konfiguracji — funkcja
invalidate_config_cache()teraz poprawnie czyściConfigHelper._config_cache. - Crash przy pustym ciągu znaków TimePeriod — przesłany z frontend pusty ciąg znaków
""dla opcjonalnych pólTimePeriodnie powoduje już błędu w Cerberus. - Stan MQTT zdalnego wyjścia — zdalne wyjścia publikują teraz swój stan do MQTT (wcześniej HA pokazywał status "niedostępny").
- Ominięcie blokady przy jasności ściemniacza — zmiany jasności sprawdzają teraz blokadę (interlock) przed pozwoleniem na wartość
> 0. - Przekierowanie typu encji ESPHome — funkcja
control_output()automatycznie wykrywa typ encji zamiast zawsze odwoływać się docontrol_switch(). - Połączenie przed wyszukiwaniem ESPHome — komendy encji nie kończą się już cichym niepowodzeniem, gdy encje nie zostały jeszcze załadowane.
- ID formularza grupy wyjść — formularz używa teraz prawidłowej referencji
boneio_output. - API grup blokad (Interlock Groups API) — naprawiono problem polegający na tym, że funkcja zawsze zwracała pustą wartość z powodu błędnej referencji do atrybutu; dodano rozwiązanie rezerwowe bazujące na konfiguracji.
- Deduplikacja jasności na froncie — WebSocket uwzględnia teraz pole jasności podczas deduplikacji.
- Efekt cofania się suwaka w UI — wyeliminowano przetwarzanie nieaktualnych wywołań zwrotnych (callbacks) z ESPHome.
boneIO Black v1.3.1
Wydanie serwisowe skupione na stabilności, bezpieczeństwie typów i poprawkach integracji z Home Assistant.
✨ Nowe Funkcje
- 🔧 Wsparcie dla starszych sterowników 0.2 / 0.3 — dodano definicje urządzeń dla starszych rewizji sprzętowych boneIO Black
- 🏠 Encja aktualizacji HA zmieniona na binary sensor — encja aktualizacji firmware jest teraz czujnikiem binarnym dla czystszej integracji z HA
🐛 Poprawki Błędów
- Precyzja pozycji rolet — naprawiono niespójną konwersję float/int w obliczeniach pozycji rolet, eliminując dryft zaokrągleń podczas ruchu
- Znaczniki czasu rolet — naprawiono nieprawidłowe znaczniki czasu w aktualizacjach stanu rolet
- device_class w HA discovery — naprawiono null device_class w autodiscovery Home Assistant poprzez przechowywanie go bezpośrednio na obiekcie wejścia
- Stan encji aktualizacji podczas restartu firmware — encja aktualizacji teraz prawidłowo pokazuje stan 'Updating' podczas restartu firmware zamiast znikać
- Obsługa kliknięć w formularzu zdarzeń — naprawiono obsługę zdarzeń kliknięcia w formularzu konfiguracji zdarzeń WebUI
♻️ Refaktoryzacja
- Ujednolicony device_class — refaktoryzacja device_class jako jedynego źródła prawdy na obiekcie wejścia (GpioBaseClass)
- Usunięto gpio_mode — ustawienie gpio_mode jest przestarzałe, teraz obsługiwane przez overlay kernela
- Usunięto ustawienia CAN System — konfiguracja CAN przeniesiona do migracji systemowych, ręczne ustawienia nie są już potrzebne
- Poprawki bezpieczeństwa typów — naprawiono wiele problemów z type checkerami w całym kodzie
⚠️ Naprawa zdublowanych encji w Home Assistant
Jeśli po aktualizacji widzisz zdublowane encje urządzenia boneIO Black w Home Assistant:
- Wejdź w Home Assistant → Ustawienia → Urządzenia i usługi → zakładka Urządzenia
- Wejdź w Tryb zaznaczania, zaznacz urządzenia boneIO Black, które mają zdublowane encje i je usuń
- Otwórz WebUI sterownika → Ustawienia → Protokoły komunikacyjne → zakładka MQTT
- Wybierz „Usuń i wyślij ponownie HA Discovery " To ponownie zarejestruje wszystkie encje bez duplikatów.
boneIO Black v1.3.0
Wiosenne wydanie — pełne nowych funkcji, wsparcia protokołów i kompletnej przebudowy WebUI!
✨ Nowe Funkcje
- 🌿 Wielostrefowy kontroler nawadniania — harmonogramy, interwały per strefa, zarządzanie źródłami wody, zawór główny i pełny panel UI z odliczaniem czasu na żywo. Wszystko sterowane również z Home Assistant!
- 🎛️ Akcje warunkowe — zakresy czasowe, zakresy dat i warunki stanu encji z logiką AND/OR. Akcje wykonują się tylko gdy warunki są spełnione
- 🎛️ Każde wyjście ma teraz indywidualne możliwości akcji — precyzyjna kontrola nad tym, co każde wyjście może robić
- 📊 Wykresy na żywo dodane do dashboardu WebUI do wizualizacji danych w czasie rzeczywistym
- 📊 Prosty widok historii dla sensorów — podgląd poprzednich wartości
- ⏱️ Wyjście czasowe z inputem HA — zmiana wartości timera bezpośrednio z Home Assistant, bez restartu
- 🔌 Protokół LoxUDP — wstępna integracja komunikacji Lox UDP
- 🔌 Protokół CANOpen — wstępne wsparcie dla urządzeń przemysłowych CAN bus
- 🏠 Eksperymentalny tryb ha_child_devices dla HA discovery — organizacja encji jako urządzenia podrzędne
- 🏠 Grupy wyjść widoczne w HA — grupy wyjść są teraz eksponowane w Home Assistant wraz z przynależnymi wyjściami
- 🏠 Reorganizacja kategorii encji — encje przeniesione do odpowiednich kategorii HA (diagnostic, config) dla czytelniejszego UI
- 🏠 Ponowne publikowanie stanów przy autodiscovery — HA zawsze ma najnowszy stan po ponownym połączeniu
- 🔧 Wsparcie sterowników 48×4A — dodano typ urządzenia dla starszych sterowników 48-wyjściowych / 4A
- 🔧 Wsparcie tilt dla zdalnych urządzeń — rolety weneckie na zdalnych boneIO obsługują teraz akcje tilt
- 📦 Nazwy encji Modbus — własne nazwy encji dla urządzeń Modbus
- 📦 Zaokrąglanie sensorów temperatury — konfigurowalne zaokrąglanie miejsc dziesiętnych
- 📦 Numer seryjny w nazwach kopii zapasowych — łatwiejsza identyfikacja plików backup z wielu urządzeń
🐛 Poprawki Błędów
- Interwał odświeżania OLED — naprawiono timing odświeżania wyświetlacza
- Czas ładowania Modbus w WebUI — znacząco skrócono czas początkowego ładowania widoku
- Izolacja komunikacji Modbus — ruch Modbus jest blokowany podczas korzystania z narzędzi WebUI
♻️ Ulepszenia Interfejsu
- Setki poprawek UI w całym WebUI — spójność paddingu, stylowanie kart, standaryzacja cieni, responsywny layout
- Przebudowa Ustawień Systemu — przeprojektowane sekcje Obecna Wersja, Dostępne Wersje, Uprawnienia Aplikacji, Uprawnienia CAN i Migracje
- Tabela migracji — profesjonalny layout tabelaryczny z opisami, badge'ami statusu i linkami do źródeł na GitHubie
boneIO Black v1.2.0
Mnóstwo nowych funkcji!
- możliwość rejestracji boneIO Black w domenie boneio.app
- dzięki temu możliwa instalacja boneIO Black jako aplikacji PWA!
- przeprojektowany logger ułatwiający znajdowanie błędów
- dodano skaner I2C w narzędziach webui
- dodano obsługę kolejnych urządzeń zdalnych: presety WLED, jasność WLED,
- dodano punkty końcowe (endpoints) GET/POST /api/log-level do tymczasowego przełączania poziomu logowania w czasie rzeczywistym
- dodano sortowalne kolumny w tabelach UISettings
- dodano opcję inteligentnego przełączania (smart toggle) dla rolet
- dodano opcję cyklu (cycle) dla długiego kliknięcia, dzięki czemu można przełączać się między presetami, jasnością itp. przytrzymując przycisk
- dodano nowe szablony! Panel Alarmowy i Termostat
- dodano możliwość wykonania kopii zapasowej boneIO Black z poziomu boneIO Black Dashboard
- przygotowano boneIO Black do obsługi czujnika boneIO Edge Temp & Humidity
- ulepszenia mobilne dla paska bocznego ustawień i tabeli RemoteDeviceTable
- dodano możliwość wyłączenia systemu za pomocą sterowania OLED + przycisk!
Naprawione błędy:
- Cross-debounce: ignorowanie zwolnienia przycisku nastąpionego zbyt szybko po naciśnięciu
- naprawiono porównywanie wersji dev vs wersja stabilna
- dodano konfigurację opóźnienia między urządzeniami (inter-device delay) oraz timeoutu dla magistrali Modbus
boneIO Black v1.1.0
- Dodano liczniki energii LWE03MW oraz CT F&F
- Dodano obsługę płytki temperatury RS485 N4DSC08
- Naprawiono dodatkowe wejścia danych dla czujników cieczy Modbus
- Dodano obsługę konfiguracji 32x5A w boneIO
- Dodano menedżer aktualizacji oprogramowania (firmware) z funkcją sprawdzania wydań na GitHub oraz integracją z Home Assistant
- Naprawiono ładowanie czujników binarnych do HA
- Dodano wstępną obsługę sterowania WLED
- Naprawiono parsowanie czasu w UI
- Dodano naliczanie czasu trwania co 200ms dla długiego kliknięcia
- Dodano narzędzie pomocnicze Modbus Creator
- Dodano nowy ultradźwiękowy czujnik odległości
- Naprawiono uwierzytelnianie w WebUI
boneIO Black v1.0.0
W końcu gotowe. Prawie 10 miesięcy naszej pracy! Aplikacja została niemal w całości napisana od nowa.
Wymaga specjalnie przygotowanego systemu Debian 13 od boneIO, który posiada odpowiednie device tree dla boneIO Black.
Ta wersja będzie działać wyłącznie na systemie Debian 13. Wersje 0.x nie będą działać na Debianie 13!
Zmiany przełomowe (Breaking changes):
- nowa opcja name dla encji, która może zawierać dowolne znaki
- id jest teraz pisane małymi literami, bez spacji; jest generowane automatycznie z perspektywy urządzenia (np. boneio_in03)
- zmiana opcji pin na boneio_output lub boneio_cover w akcjach
- prefix tematu (topic prefix) nie jest już konfigurowalny w ustawieniach! Jest na sztywno przypisany do numeru seryjnego
Lista zmian (Changelog):
- nowe modularne menedżery aplikacji, umożliwiające przeładowanie jej części bez restartu całości
- wsparcie libgpiod dla wejść
- nowy sterownik i2c
- nowy, napisany od nowa moduł wejść
- nowy moduł One wire
- nowy moduł Modbus
- nowy moduł rolet (cover)
- nowy moduł zdarzeń (events)
- nowe WebUI z klikalnymi ustawieniami interfejsu użytkownika! Prawie całkowity brak YAML (jeśli sekcja boneio: jest obecna)
- przeprojektowana grupa wyjść (output group)
- nowa funkcja wyszukiwania urządzeń Modbus z poziomu WebUI
- nowe opcje dla wirtualnych czujników
- dodano opcję udostępniania Node-RED przez proxy nginx (port 8443)
- zmiana opcji pin na boneio_output lub boneio_cover w akcjach
- dodano możliwość zmiany hasła Mosquitto z poziomu WebUI
- start aplikacji nawet przy uszkodzonym układzie MCP
- dodano opcję zarządzania obszarami (areas) z poziomu boneIO Black UI
- dodano opcję zmiany nazwy hosta (hostname) z poziomu WebUI
- zmiana proxy z nginx na caddy i obsługa https (unsecure)
- dodano nowe akcje dla encji zdarzeń: potrójne kliknięcie oraz akcje sekwencyjne (double_then_long, single_then_long, double_then_single)
- dodano autowykrywanie innych urządzeń boneIO Black w sieci
- dodano powiadomienia (toast) w wejściach po kliknięciu
- dodano możliwość sterowania innymi urządzeniami ESPHome w sieci (światło, przełącznik, roleta)
- dodano wsparcie dla starszych sterowników w wersji 0.2
- dodano opcję przejścia do ustawień encji po długim kliknięciu w kartę (Card)
- dodano potrójne kliknięcie oraz możliwość wysyłania sekwencji do MQTT
- dodano kopię zapasową na dysk
- dodano opcję przywrócenia (revert) firmware przez UI
🙏 Podziękowania
Dziękujemy wszystkim użytkownikom, którzy przekazali opinie i zgłoszenia błędów podczas cyklu rozwoju!
📞 Wsparcie
- Dokumentacja: https://boneio.eu/docs/black
- GitHub Issues: https://github.com/boneIO-eu/app_black/issues
- Społeczność: Dołącz do naszego serwera Discord