init 0%
lkusinski.pl LOAD 000%

_ projekt 09 · integracja chmury · open source · github

Sinum Home Assistant —
chmura pod kontrolą

Natywna integracja Home Assistant dla systemów grzewczych i automatyki Sinum
OAuth2 i proxy chmury, normalizacja danych, 278 encji w 9 obszarach i automatyczne wykrywanie nowych urządzeń — bez mostka pośrodku

01 · WYZWANIE

Chmura, która
nie miała wyjścia

Centrala Sinum w tej instalacji jest dostępna wyłącznie przez chmurę. Lokalne IP nie odpowiada, a producent nie publikuje oficjalnej integracji Home Assistant. Gotowa integracja społecznościowa (Sinapse v0.8.2) działała, ale w praktyce zostawiała zbyt wiele białych plam: pogoda w ogóle nie powstawała, firmware był ukryty, część klimatów nie miała temperatury bieżącej, a hvac_action zawsze zwracał idle.

Do tego dochodziła warstwa transportowa. Prototypowy most na osobnym hoście udostępniał bez allowlisty także /users, /dashboards i /settings/backup, a jeden cykl odpytywania generował 21 requestów. To nie jest fundament pod integrację, która ma działać latami.

  • Pogodachmura zwraca dane zagnieżdżone; integracja oczekiwała płaskiej struktury i złych skal — encja weather nie powstawała wcale.
  • Firmwarewersja 1.4.12 była dostępna w chmurze, ale ukryta przed aplikacją; brakowało mapowania update_details.
  • Klimaty8 regulatorów WTP nie miało current_temperature, a hvac_action zawsze raportował bezczynność.
  • Energia9 encji Energy Center pokazywało fałszywe zera przy available: false — cztery requesty na cykl bez wartości.
  • Bezpieczeństwomost bez allowlisty odsłaniał endpointy administracyjne i dane innych użytkowników.

Zamiast łatać cudzy kod i dokładać kolejny serwis, powstała własna integracja sinum_home_assistant: jeden klient chmury, jedna warstwa normalizacji i natywne encje Home Assistant. Integracja nie jest oficjalnym wydaniem Tech Sterowniki — to niezależny projekt open source.

02 · ARCHITEKTURA

Od chmury
do encji

Cały przepływ jest krótki i celowo pozbawiony pośredników. Integracja loguje się do chmury Sinum przez OAuth2, przechowuje wyłącznie refresh token i cyklicznie pobiera snapshot urządzeń. Hasło jest używane tylko podczas konfiguracji — nigdy nie trafia do pliku konfiguracyjnego.

1. Chmura Sinum

OAuth2 + proxy

POST /authentication/oauth/token, a dane pod /proxy/* z nagłówkiem X-Device-ID: pokoje, urządzenia, parenty, pogoda.

2. Integracja

Coordinator i normalizacja

Jeden cykl co 30 s, wspólny snapshot, mapowanie pokoi 1:1, hierarchia via_device_id i wykrywanie nowych urządzeń.

3. Home Assistant

Natywne encje

278 encji: 16 klimatów, pogoda z prognozą 48 h / 9 dni, 21 aktualizacji firmware, przełączniki i diagnostyka.

Baner projektu Sinum Home Assistant: dom Sinum i trzy węzły sieci Home Assistant
PROJEKT · SINUM HOME ASSISTANT

Pierwszy prototyp rzeczywiście szedł przez most na osobnym hoście. Po cutoverze most zniknął: integracja rozmawia z chmurą bezpośrednio. Mniej ruchomych części, mniej punktów awarii i mniej danych przechodzących przez dodatkowy serwis.

# Jeden cykl aktualizacji (co 30 s)
info            # cache 5 min
rooms           # pokoje → obszary HA
parent-devices  # centrala, extendery, transceivery
devices         # WTP, wirtualne, moduły systemowe
weather         # opcjonalnie: prognoza godzinowa i dzienna

03 · EFEKT

278 encji
bez duplikatów

W typowej instalacji integracja tworzy 278 encji w 9 obszarach odpowiadających pokojom Sinum. Nazwy są budowane z pokoju, urządzenia i właściwości, więc interfejs czyta się jak aplikacja producenta — bez ręcznego mapowania.

Platforma Encje Przykłady
sensor 138 temperatura, wilgotność, bateria, sygnał, IP, opóźnienie, firmware
binary_sensor 96 kontakt okna, grzanie/chłodzenie, ostrzeżenia, stan przekaźnika
update 21 centrala, kontrolery, extendery, transceivery, urządzenia
climate 16 termostaty pokojowe i regulatory temperatury WTP
switch 6 wolne wyjścia przekaźnikowe
weather 1 warunki bieżące + prognoza godzinowa i dzienna
RAZEM 278 82 urządzenia, 65 przypisanych do obszarów

Głębokie pokrycie, nie tylko termostaty

Poza klimatem integracja obsługuje harmonogramy termiczne (temperatura docelowa, zapasowa, liczba urządzeń i aktywny przedział), ciśnienie, CO₂, IAQ, pyły PM1/2.5/4/10, natężenie światła, dym, zalanie, ruch, wejścia dwustanowe, zawory grzejnikowe, przepustnice, liczniki energii, promienniki IR, rolety, dimmery, wentylatory i przyciski. Modele danych obejmują też magistrale sbus, slink, lora, modbus, alarm_system, custom_device_module, video, smesh i tech.

Przekaźniki zarządzane przez termostat wirtualny są tylko do odczytu — chmura nie pozwala sterować nimi bezpośrednio, więc zamiast zwodniczego switcha powstaje binary_sensor „Stan przekaźnika”. Wolne przekaźniki działają normalnie.

Podgląd dashboardu Home Assistant z encjami Sinum: klimaty, pogoda i diagnostyka
PODGLĄD · DASHBOARD

04 · JAKOŚĆ

Testy, które
nie kłamią

Integracja nie jest zbiorem encji „na sztuki”. Każda zmiana przechodzi przez 105 automatycznych sprawdzeń: obecność wszystkich encji, unikalność identyfikatorów, poprawność jednostek, zakresy temperatur, spójność prognozy, bezpieczne zapisy no-op i reload config entry. Wynik po wdrożeniu: 105/105, 0 encji unavailable i brak pętli reloadu.

  • CIGitHub Actions: hassfest, walidacja HACS i ruff — wszystkie zielone.
  • Pogodaprognoza godzinowa 48 h i dzienna 9 dni; dzień/noc, zerowa irradiancja zachowana, brak "None" dla wschodu i zachodu.
  • Klimaty16/16 encji ma temperaturę bieżącą, docelową i poprawne hvac_action.
  • Opcjewyłączenie pogody lub modułów systemowych usuwa powiązane encje; włączenie odtwarza je z tymi samymi identyfikatorami (testy: 266/243/269/278).
  • Nowe urządzeniadodanie urządzenia, parenta lub harmonogramu w Sinum automatycznie przeładowuje integrację i tworzy encje — bez restartu HA.
  • Bezpieczeństwohasło nie jest zapisywane; w repo nie ma identyfikatorów ani danych konkretnej instalacji.

05 · DZIENNIK WDRAŻANIA

Od mostka
do integracji

  • 5.11.2026 · rozpoznanie

    Analiza chmury Sinum: OAuth2, /proxy/*, X-Device-ID. Prototypowy most na osobnym hoście i pierwsze 233 encje przez Sinapse v0.8.2. Raport z luk: pogoda, firmware, klimaty, energia, allowlista.

  • 5.11.2026 · własna integracja

    Powstaje domena sinum_cloud: klient API, coordinator, config flow i platformy sensor, binary_sensor, climate, switch, update, weather. 266 encji, testy 101/101.

  • 6.11.2026 · cutover

    Nowa nazwa i domena sinum_home_assistant, publiczne repo, licencja MIT. Stara integracja i most usunięte; config entry odtworzone, czyste entity ID bez _2, dashboardy i obszary zachowane.

  • 6.11.2026 · 1.1.0 — głębokie pokrycie

    Harmonogramy termiczne, nowe typy WTP, magistrale sbus, slink, lora, modbus i moduły systemowe. 278 encji, testy 105/105, 0 unavailable.

  • 6.11.2026 · 1.1.1 — zmiany bez restartu

    Automatyczne wykrywanie nowych urządzeń, parentów i harmonogramów: integracja przeładowuje się sama i tworzy nowe encje. Release v1.1.1, GitHub Actions zielone.

06 · OTWARTOŚĆ

MIT, dokumentacja
i dalsze kroki

Projekt jest opublikowany na licencji MIT (copyright © 2026 Tech Sterowniki), z jasnym zastrzeżeniem w NOTICE.md: to niezależna integracja, nie oficjalne wydanie producenta. Repozytorium zawiera dokumentację instalacji, konfiguracji, encji, rozwiązywania problemów, rozwoju i prywatności — bez danych konkretnej instalacji.

Dalsze kierunki są proste: kolejne typy urządzeń WTP, porządki w duplikatach encji, twardsze scenariusze testowe i utrzymanie zgodności z nowymi wersjami Home Assistant. Priorytetem pozostaje jedno: mniej ruchomych części i przewidywalne zachowanie — także wtedy, gdy chmura producenta zmieni odpowiedź.

  • Repozytoriumgithub.com/lkusinski/sinum-home-assistant
  • Releasev1.1.1 · HACS Custom · Home Assistant 2026.11+
  • LicencjaMIT · copyright © 2026 Tech Sterowniki · niezależna integracja
  • Prywatnośće-mail, cloud device ID i refresh token w config entry HA; hasło nie jest zapisywane