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
    1. Nawiązanie połączenia TCP na port integracyjny.
    2. Autoryzacja (ramka logowania/procedura zgodna z dokumentacją protokołu).
    3. 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”.
    4. 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.
    5. 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.

Oceń odpowiedź:
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

Czekaj (2min)...