Zakres
Opis dotyczy lokalnego interfejsu Web Master/EZ2, schemat ges-v2. Cztery żądania GET służą wyłącznie do odczytu. Do sterowania testami użyj Modbus IP. W przykładach 192.168.1.50 jest przykładowym adresem centrali.
Stan systemu w JSON
macOS / Linux:
curl --fail --max-time 10 http://192.168.1.50/data/systeminfo.php
Windows PowerShell:
Invoke-RestMethod -Uri "http://192.168.1.50/data/systeminfo.php" -TimeoutSec 10
Przykład wybranych pól odpowiedzi dla jednej oprawy bez błędów:
{
"systemtype": "EZ2",
"status_codes": ["0001"],
"error_codes": ["0000"],
"mapping_complete": true,
"luminaire_count": 1,
"communication_error_count": 0,
"fault_count": 0,
"error_schema": "ges-v2",
"address_schema": "channel16-address16-decimal",
"optional_unavailable": ["letzte_testdauer", "aktualisiert_am"]
}
To fragment ilustrujący format; wartości na instalacji zależą od jej stanu. Odpowiedź zawiera też liczniki NVG, słownik błędów i zakres statusów. mapping_complete=true nie oznacza, że dostępne są opcjonalne pomiary i daty.
| Flaga HEX | Stan |
|---|---|
| 0001 | Stan zwykły / dane opraw |
| 0002 | Blokada globalna |
| 0004 | Awaria ogólna |
| 0008 | Test funkcjonalny |
| 0010 | Test autonomii |
| 0100 | Wyszukiwanie |
| 0200 | Inicjalizacja lub konfiguracja |
Flagi mogą występować równocześnie. Oceniaj je wraz z error_codes. Brak skonfigurowanych opraw jest stanem awaryjnym/niepotwierdzonym.
Lista TSV
curl --fail --max-time 10 http://192.168.1.50/lumlist.php -o oprawy.tsv
Windows PowerShell:
Invoke-WebRequest -Uri "http://192.168.1.50/lumlist.php" -OutFile "oprawy.tsv" -TimeoutSec 10
$oprawy = Import-Csv -Path "oprawy.tsv" -Delimiter "`t"
$oprawy | Format-Table adresse, geraetetyp, fehlercode, ortstext
Przykład (kolumny oddzielają tabulatory; puste kolumny należy zachować):
adresse geraetetyp gruppe ueberwachung schaltungsart betriebszeit letzte_testdauer fehlercode ortstext aktualisiert_am
196618 AW 0 1 DS LTM_3H 0000 Korytarz
Nagłówek i każdy rekord mają dziesięć pól. Nie dziel wiersza po dowolnych białych znakach: zgubisz puste pola. Znaczenie kolumn opisuje Web Master. Nie myl ueberwachung=0 z brakiem komunikacji.
Diagnostyka pojedynczej oprawy
Weź ID z pierwszej kolumny TSV:
curl --fail --max-time 10 "http://192.168.1.50/data/luminaire.php?id=196618"
Przykładowa zwykła oprawa AirBus 10:
{"id":196618,"channel":3,"physical_address":10,"error_code":"0000","nvg":null}
Dla NVG pole nvg zawiera led1, led2, mains, input_l1, input_l2, maintained1, maintained2 i communication_error. LED: 0 wyłączony, 1 włączony, 2 migający, 3 awaria. Przy communication_error=true pozostałe wartości NVG są ostatnim odebranym stanem i nie potwierdzają stanu bieżącego.
Słownik błędów
curl --fail --max-time 10 http://192.168.1.50/data/errorcodes.php
Kody zachowuj jako czteroznakowe ciągi HEX, łącznie z zerami z przodu.
| Kod | Znaczenie |
|---|---|
| 0000 | Brak błędów w odczytanych stanach |
| 0400 | Brak komunikacji z oprawą |
| F001 | Awaria źródła światła LED |
| F002 | Brak lub odłączony akumulator |
| F003 | Awaria LED i brak akumulatora |
| F004 | Przekroczona temperatura zasilacza |
| F011 / F012 / F013 | NVG: awaria LED1 / LED2 / obu wyjść |
| F100 | Awaria ogólna centrali lub brak skonfigurowanych opraw |
| FFFE | Stan niepotwierdzony lub niepełne dane |
Kody Fxxx są kodami adaptera EZF. Dodaj ich opisy do systemu integratora. Jeden kod oprawy nie opisuje wszystkich równoczesnych usterek; wykorzystaj także szczegóły NVG.
Obsługa odpowiedzi i odświeżanie
| HTTP | Znaczenie | Zachowanie klienta |
|---|---|---|
| 200 | Odpowiedź dostępna | Sprawdź format i kody stanu |
| 400 | Błędne ID lub kanał | Popraw parametr na podstawie TSV |
| 403 | API opraw wyłączone | Włącz udostępnianie danych w centrali |
| 404 | Nie znaleziono wskazanej oprawy | Odśwież inwentarz |
| 503 | Dane niedostępne lub odpowiedź nie mieści się w limicie | Pokaż brak aktualnych danych i sprawdź centralę |
Klient powinien mieć timeout i ograniczone ponawianie z opóźnieniem. Częstotliwość odczytu dobierz podczas uruchomienia instalacji. Nie uruchamiaj nieograniczonej pętli zapytań. Nie zamieniaj błędu, pustej odpowiedzi ani ostatniego zapamiętanego stanu na aktualny wynik OK.
Lista TSV ma limit 24576 bajtów w opisanym wydaniu. Przekroczenie limitu daje HTTP 503, a nie poprawną odpowiedź z uciętą listą. Odczyty różnych endpointów nie są jednym atomowym raportem.
Próba integracyjna
Sprawdź poprawny odczyt, wyłączone API opraw, błędne i nieistniejące ID oraz utratę połączenia. Porównaj interpretację usterek z ekranem centrali. Narzędzia i symulatory pozwalają przygotować klienta bez podłączonego urządzenia.