_ 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, ahvac_actionzawsze 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.
OAuth2 + proxy
POST /authentication/oauth/token, a dane pod /proxy/* z nagłówkiem X-Device-ID: pokoje, urządzenia, parenty, pogoda.
Coordinator i normalizacja
Jeden cykl co 30 s, wspólny snapshot, mapowanie pokoi 1:1, hierarchia via_device_id i wykrywanie nowych urządzeń.
Natywne encje
278 encji: 16 klimatów, pogoda z prognozą 48 h / 9 dni, 21 aktualizacji firmware, przełączniki i diagnostyka.
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.
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 iruff— 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,modbusi moduły systemowe. 278 encji, testy 105/105, 0unavailable. -
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