SATEL ETHM-1 Plus – odczyt stanu stref, TCP/REST, INTEGRA, protokół, Home Assistant
Pytanie
Cześć, jak poprawnie czytać stan stref odbieranych za pomocą integracji ETHM 1 plus
Odpowiedź Sztucznej Inteligencji
Bezpośrednia odpowiedź na pytanie
- Stan stref (partycji) z ETHM‑1 Plus czytaj przez port integracyjny TCP (domyślnie 7094) po uprzedniej autoryzacji; centrala zwraca maski bitowe (bit = stan danej strefy/zakresu), a zmiany są dodatkowo wysyłane asynchronicznie (push).
- Jeśli używasz gotowej integracji (np. Home Assistant/openHAB/DOMIQ), stany są już zmapowane na encje/kanaly (alarm_control_panel dla stref, binary_sensor dla wejść) i nie musisz sam dekodować ramek.
Kluczowe punkty
- W nomenklaturze SATEL „strefa” = partycja (uzbrojenie/rozbrojenie), „wejście” = linia/czujka (naruszenie). Upewnij się, co dokładnie chcesz czytać.
- ETHM‑1 Plus nie udostępnia oficjalnego REST API do odczytu stanów; używa własnego protokołu binarnego po TCP.
- Najpewniejszy schemat: jednorazowy odczyt masek (stan początkowy) + obsługa komunikatów zdarzeń (push) + okresowe keepalive.
Szczegółowa analiza problemu
- Architektura i porty
- ETHM‑1 Plus udostępnia kilka portów TCP; interesuje Cię port integracyjny (typowo 7094) obsługujący protokół Satela dla integracji. Pozostałe porty (np. do DLOADX/GuardX) nie służą do odczytu stanów w integracji.
- Konfiguracja (DLOADX → ETHM‑1 Plus)
- Włącz Integrację/TCP dla modułu.
- Ustaw hasło integracji (oddzielne od użytkownika/serwisowego).
- Nadaj modułowi stały adres IP w Twojej sieci (DHCP reservation lub statyczny).
- Przebieg komunikacji
- Nawiązanie połączenia TCP na port integracyjny.
- Autoryzacja (ramka logowania/procedura zgodna z dokumentacją protokołu).
- Odczyt stanów w postaci masek bitowych:
- Strefy (partycje): np. maski „uzbrojone”, „w trybie nocnym”, „opóźnienie wejścia/wyjścia”, „alarm w strefie”.
- Wejścia (linie): maski „naruszone”, „sabotaż”, „alarm”, „pamięć alarmu”, „blokady”.
- Nasłuchiwanie zdarzeń push: przy każdej zmianie (np. naruszenie wejścia, załączenie czuwania) centrala wysyła odpowiednią ramkę – dzięki temu unikasz agresywnego odpytywania.
- Keepalive/reconnect: utrzymuj połączenie (TCP keepalive lub okresowe zapytania), obsłuż ponowne łączenie po timeoutach.
- Dekodowanie masek bitowych (ogólny model)
- Odpowiedzi przychodzą w blokach bajtów, gdzie każdy bit reprezentuje obiekt:
- Bajt 0 → obiekty 1–8 (bit 0 = obiekt 1, …, bit 7 = obiekt 8)
- Bajt 1 → obiekty 9–16, itd.
- Przykład (wejścia naruszone): jeśli pierwszy bajt = 0x05 (00000101b), to naruszone są wejścia 1 i 3.
- Analogicznie interpretujesz maski dla stref (uzbrojenie/zwłoka/alarm).
- Mapa pojęć (ważne w Satel)
- Strefa/partycja: logiczna grupa wejść, którą uzbrajasz/rozbrajasz (np. „Parter”, „Garaż”).
- Wejście/linia: czujka/kontaktron – to tu najczęściej „widzisz” naruszenia.
- Częsty błąd: mylenie „strefy naruszonej” (to raczej „strefa w alarmie” lub „zwłoce”) z „wejściem naruszonym”.
- Integracje gotowe (zalecane, gdy nie chcesz pisać protokołu)
- Home Assistant: encje alarm_control_panel dla każdej strefy oraz binary_sensor dla poszczególnych wejść; integracja sama loguje się, pobiera maski i subskrybuje zdarzenia.
- openHAB/DOMIQ/komercyjne sterowniki: analogiczny model – kanały dla stref i wejść.
Aktualne informacje i trendy
- Stabilnym i wspieranym sposobem pozostaje protokół binarny po TCP przez port integracyjny. Oficjalny, publiczny REST API dla ETHM‑1 Plus do odczytu stanów nie jest dostępny.
- W nowszych firmware’ach spotyka się mechanizmy „IP zones” (wzbudzanie wejść przez prosty listener), ale służą one do wprowadzania naruszeń/sterowania, nie do czytania pełnych stanów.
- Trend integracyjny: korzystanie z gotowych komponentów (HA/openHAB) obsługujących zdarzenia push, co daje niskie opóźnienia i mniejsze obciążenie sieci.
Wspierające wyjaśnienia i detale
- Minimalny dekoder maski (przykład koncepcyjny)
- Dane: tablica bajtów zones_mask (np. 32 bajty dla 256 obiektów).
- Dla i w [0..N-1]: stan obiektu (i+1) = (zones_mask[i//8] >> (i % 8)) & 1.
- Typowe stany do odczytu
- Strefy (partycje): uzbrojona (pełne/bez wewnętrznych), rozbrojona, alarm, pamięć alarmu, zwłoka wej/wyj, blokada, naruszenia w strefie.
- Wejścia (linie): naruszone, sabotaż, alarm (wg typu linii), pamięć alarmu, bypass.
- Kolejność bajtów i numeracja zwykle zaczynają się od 1; w protokołach/bibliotekach często mapowane od zera – zwróć uwagę na offset.
Aspekty etyczne i prawne
- Bezpieczeństwo:
- Nie wystawiaj portu integracyjnego na Internet. Używaj VPN (site‑to‑site/SSL) lub zaufanej chmury producenta do aplikacji mobilnych.
- Ogranicz uprawnienia konta użytego do integracji (tylko odczyt, jeśli nie sterujesz).
- Segmentacja sieci (VLAN dla systemu alarmowego), lista dozwolonych hostów, silne hasło integracyjne.
- Prywatność: Logi naruszeń i uzbrojeń mogą ujawniać zwyczaje domowników – chroń te dane.
Praktyczne wskazówki
- Parametry sieci
- Stały IP ETHM‑1 Plus, rezerwacja DHCP, wpis w DNS lokalnym.
- Firewall: przepuść tylko TCP do portu integracyjnego z hosta integrującego.
- Odporność na błędy
- Implementuj watchdog reconnect, backoff przy utracie połączenia.
- Waliduj sumy kontrolne ramek zgodnie z dokumentacją; odrzucaj niepełne ramki.
- Diagnostyka
- Tymczasowo włącz logowanie ramek po stronie integratora; do analizy używaj np. Wireshark (filtrowanie po IP/porcie).
- Porównuj zdarzenia z pamięcią zdarzeń centrali (GuardX) – weryfikacja poprawności mapowania.
Ewentualne zastrzeżenia lub uwagi dodatkowe
- Część szczegółów protokołu może być objęta licencją/warunkami producenta; trzymaj się oficjalnej dokumentacji.
- Implementacje społecznościowe mogą różnić się mapowaniem bitów/bajtów; testuj na swoim modelu centrali i wersji firmware.
- Niektóre funkcje zależą od wersji centrali (Integra vs Integra Plus) i konfiguracji (np. liczby stref/wejść).
Sugestie dalszych badań
- Oficjalna „Instrukcja ETHM‑1 Plus” i „Protokół integracyjny” Satel – opisy ramek, kodów poleceń, struktur danych.
- Instrukcja DLOADX – sekcja konfiguracji modułów ETHM i haseł integracyjnych.
- Dokumentacja integracji używanej platformy (Home Assistant/openHAB/DOMIQ) – nazewnictwo encji, mapowania i obsługa zdarzeń.
Krótkie podsumowanie
- Czytaj stan stref przez port integracyjny ETHM‑1 Plus (TCP), po autoryzacji, jako maski bitowe + zdarzenia push.
- Jeżeli używasz gotowej integracji (HA/openHAB), korzystaj z wystawionych encji – tam strefy/partycje i wejścia są już poprawnie zmapowane.
- Unikaj wystawiania portu na świat, zadbaj o VPN i minimalne uprawnienia.
- Jeśli wskażesz, czy chodzi Ci o strefy (partycje) czy wejścia (linie) i z jakiej platformy korzystasz, podam konkretny przykład konfiguracji/kodu oraz dokładne mapy bitów dla Twojego przypadku.
Zastrzeżenie: Odpowiedzi udzielone przez sztuczną inteligencję (model językowy) mogą być niedokładne i wprowadzające w błąd. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi powinny być zweryfikowane przez użytkownika.
Zadaj dodatkowe pytanie Sztucznej Inteligencji