O NasBlogKontakt

Informacje o zmianach

Co nowego w boneIO Black?

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 płytek 48×4A — dodano typ urządzenia dla starszych płytek 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

boneIO 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 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 płytek 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

boneIO Black v1.0.0 - Informacje o wydaniu

To jest główne wydanie z istotnymi ulepszeniami interfejsu webowego, zarządzania konfiguracją i ogólnej stabilności.

🎉 Główne funkcje

Webowy interfejs konfiguracji

Kompletny przeprojektowanie interfejsu webowego z pełnymi możliwościami zarządzania konfiguracją:

  • Wizualny edytor konfiguracji - Konfiguruj wszystkie encje (wyjścia, rolety, zdarzenia, czujniki binarne) przez intuicyjny interfejs webowy
  • Walidacja w czasie rzeczywistym - Natychmiastowa informacja zwrotna o błędach konfiguracji z walidacją schematu
  • Podgląd na żywo - Zobacz zmiany natychmiast bez ręcznej edycji plików
  • Wsparcie wielu języków - Pełne tłumaczenia polskie i angielskie

Zarządzanie systemem

  • System auto-aktualizacji - Automatyczne aktualizacje z wydań GitHub z instalacją jednym kliknięciem
  • Przywracanie ustawień fabrycznych - Reset do domyślnej konfiguracji dla różnych typów urządzeń (24x16, 32x10, cover, cover_mix)
  • Kopie zapasowe konfiguracji - Automatyczne tworzenie kopii zapasowej przed resetem fabrycznym z możliwością przywracania
  • Restart systemu - Restart aplikacji bezpośrednio z interfejsu webowego z potwierdzeniem

Ulepszone wsparcie rolet

  • Żaluzje weneckie - Pełne wsparcie dla żaluzji weneckich z kontrolą nachylenia lameli
  • Wybór platformy - Wybór między platformami time_based, venetian lub previous
  • Czas nachylenia - Konfigurowalny czas nachylenia lameli dla żaluzji weneckich
  • Wizualna kontrola nachylenia - Dedykowany suwak nachylenia w interfejsie użytkownika

🔧 Zmiany w konfiguracji

Refaktoryzacja schematu akcji

Zmiana niekompatybilna wstecz: Konfiguracja akcji została zmodernizowana:

  • Pole pin jest teraz przestarzałe - użyj boneio_output zamiast tego
  • Dodano pole boneio_cover dla akcji rolet
  • Zachowano kompatybilność wsteczną - stare konfiguracje z pin będą nadal działać

Przykład migracji:

# Stary format (nadal działa)
actions:
  single:
    - action: output
      pin: OUT_17

# Nowy format (zalecany)
actions:
  single:
    - action: output
      boneio_output: OUT_17

Konfiguracja zdarzeń

  • Typy zdarzeń kliknięcia - Nowe opcje zdarzeń kliknięcia: single, double, long, release
  • Pola okresu czasu - Ulepszona obsługa okresów czasu (np. double_click_duration: 220ms)
  • Usuwanie wartości domyślnych - Pola pasujące do wartości domyślnych schematu nie są już zapisywane do YAML

Konfiguracja rolet

  • Pole platformy - Domyślna wartość zmieniona z previous na time_based
  • Wybór wyjścia - Ulepszona lista rozwijana z grupowaniem według obszarów i walidacją
  • Zapobieganie duplikatom - Nie można wybrać tego samego wyjścia dla przekaźnika otwierania i zamykania

🐛 Poprawki błędów

Zarządzanie stanem

  • Naprawiono przywracanie stanu przy zmianie typu platformy rolet
  • Naprawiono AttributeError gdy restored_state jest stringiem zamiast słownika
  • Plik stanu (state.json) jest teraz prawidłowo czyszczony podczas resetu fabrycznego
  • Naprawiono zapisywanie i przywracanie stanu rolet po przeładowaniu

Ulepszenia UI/UX

  • Naprawiono przeładowywanie wyjść w formularzach zdarzeń i czujników binarnych
  • Naprawiono przypisywanie i wyświetlanie obszarów
  • Naprawiono problemy z cache'owaniem przy przeładowywaniu konfiguracji
  • Naprawiono problemy z tłumaczeniami w całym interfejsie
  • Naprawiono walidację i wysyłanie formularza czujników
  • Naprawiono funkcjonalność zatrzymywania rolet

Modbus

  • Usunięto przestarzałe funkcje modbus
  • Naprawiono ładowanie i konfigurację czujników modbus
  • Naprawiono funkcjonalność pomocnika modbus

Czujniki

  • Naprawiono generowanie unikalnych ID dla czujników wirtualnych
  • Naprawiono dodawanie i usuwanie czujników temperatury
  • Naprawiono sekcję diagnostyczną czujników w Home Assistant
  • Naprawiono problemy z kontrolą czujników I2C

Wykrywanie wejść

  • Naprawiono wykrywanie i wysyłanie zdarzeń wejściowych
  • Naprawiono warunek wyścigu między roletami a ekspanderami MCP
  • Naprawiono obsługę zdarzeń kliknięcia wejść

Przycisk OLED

  • Ulepszony przepływ wyłączania - Próg długiego naciśnięcia zwiększony z ~400ms do 2s, aby zapobiec przypadkowemu wyłączeniu
  • Wydłużony czas potwierdzenia - Użytkownik ma teraz 30s (było 10s) na potwierdzenie lub anulowanie wyłączenia
  • Szybsze potwierdzenie - Czas trzymania przycisku do potwierdzenia skrócony do 3s (było 5s)

🔄 Ulepszenia techniczne

Backend

  • Serializacja TimePeriod - Naprawiono serializację JSON aby zwracać stringi (np. "220ms") zamiast obiektów
  • Ładowanie konfiguracji - Użycie surowych danych YAML aby zachować formaty stringów
  • Bezpieczeństwo pliku stanu - Najpierw zapis do pliku tymczasowego, następnie atomowe przemianowanie
  • Ulepszenia loggera - Lepsze logowanie do debugowania i rozwiązywania problemów
  • Ochrona systemu plików - Dodano zabezpieczenie przed przepełnieniem systemu plików aby zapobiec awariom systemu

Frontend

  • Refaktoryzacja komponentów React - Ulepszona struktura i możliwość ponownego użycia komponentów
  • OutputSelectDropdown - Nowy komponent wielokrotnego użytku z filtrowaniem i logiką wykluczania
  • SimpleTimePeriodInput - Dedykowany komponent do konfiguracji okresów czasu
  • Walidacja formularzy - Ulepszona walidacja z lepszymi komunikatami błędów
  • Aktualizacje pakietów - Zaktualizowano wszystkie zależności frontend

Integracja

  • Home Assistant 2024.12+ - Pełna kompatybilność z najnowszym Home Assistant
  • Ulepszenia MQTT - Lepsza obsługa połączenia MQTT
  • Wirtualny czujnik energii - Wsparcie dla nowego wirtualnego czujnika energii

📦 Nowe funkcje

Integracja Node-RED

  • Dodano widok Node-RED w interfejsie webowym
  • Konfiguracja proxy dla dostępu do Node-RED

Proxy Nginx

  • Konfigurowalny port proxy nginx
  • Lepsze wsparcie dla reverse proxy

Narzędzia diagnostyczne

  • Czujniki przeniesione do sekcji diagnostycznej w Home Assistant
  • Ulepszone możliwości rozwiązywania problemów
  • Lepsze komunikaty błędów i logowanie

Obraz systemu Debian 13

  • Gotowy obraz Debian 13 - Dostępny prekonfigurowany obraz systemu dla łatwej instalacji
  • Uproszczony proces konfiguracji dla nowych użytkowników
  • Wszystkie zależności preinstalowane i skonfigurowane

🔐 Bezpieczeństwo i stabilność

  • Ulepszona obsługa błędów w całej aplikacji
  • Lepsza walidacja danych wejściowych użytkownika
  • Bezpieczniejsze operacje na plikach z atomowymi zapisami
  • Kopia zapasowa konfiguracji przed destrukcyjnymi operacjami

📝 Dokumentacja

  • Zaktualizowane przykłady konfiguracji dla wszystkich typów urządzeń
  • Ulepszona pomoc inline i podpowiedzi
  • Lepsze komunikaty błędów z praktycznymi sugestiami

⚠️ Zmiany niekompatybilne wstecz

  1. Schemat akcji: Mimo kompatybilności wstecznej, pole pin jest przestarzałe. Zaktualizuj konfiguracje aby używać boneio_output lub boneio_cover.

  2. Domyślna platforma rolet: Domyślna platforma zmieniona z previous na time_based. Istniejące konfiguracje nie są dotknięte.

  3. Wersja Home Assistant: Wymaga Home Assistant 2024.12 lub nowszego.

🚀 Instrukcje aktualizacji

Z wersji v0.12.x

  1. Utwórz kopię zapasową konfiguracji

    cp -r ~/boneio ~/boneio_backup_$(date +%Y%m%d)
  2. Zaktualizuj aplikację

    • Użyj funkcji auto-aktualizacji w interfejsie webowym, lub
    • SSH do urządzenia i uruchom: pip install --upgrade boneio
  3. Przejrzyj konfigurację

    • Sprawdź przestarzałe pola pin w akcjach
    • Zaktualizuj do boneio_output lub boneio_cover w razie potrzeby
  4. Zrestartuj aplikację

    • Użyj przycisku restart w interfejsie webowym, lub
    • SSH: sudo systemctl restart boneio

Reset fabryczny (opcjonalnie)

Jeśli chcesz zacząć od nowa z przykładową konfiguracją:

  1. Przejdź do strony Aktualizacja systemu w interfejsie webowym
  2. Wybierz typ urządzenia (24x16, 32x10, cover, cover_mix)
  3. Kliknij "Przywróć ustawienia fabryczne"
  4. Kopia zapasowa konfiguracji zostanie utworzona automatycznie
  5. Aplikacja zrestartuje się z domyślną konfiguracją

🙏 Podziękowania

Dziękujemy wszystkim użytkownikom, którzy przekazali opinie i zgłoszenia błędów podczas cyklu rozwoju!

📞 Wsparcie