O NasBlogKontakt

Informacje o wersji v1.0.0

Co nowego w boneIO Black v1.0.0

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ść

🔄 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