Scope
This guide covers the local Web Master/EZ2 interface, schema ges-v2. All four GET requests are read only. Use Modbus IP to control tests. 192.168.1.50 is an example controller address.
System status in 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
Selected response fields for one luminaire without faults:
{
"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"]
}
This illustrates the format; actual values depend on the installation. The response also includes NVG counters, the error dictionary path and status scope. mapping_complete=true does not mean optional measurements or timestamps are available.
| HEX flag | State |
|---|---|
| 0001 | Normal state / luminaire snapshot |
| 0002 | Global inhibition |
| 0004 | General fault |
| 0008 | Functional test |
| 0010 | Duration test |
| 0100 | Search |
| 0200 | Initialisation or configuration |
Flags may occur together. Evaluate them alongside error_codes. An installation with no configured luminaires is faulty or unconfirmed.
TSV list
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
Example: tabs separate columns; preserve empty columns.
adresse geraetetyp gruppe ueberwachung schaltungsart betriebszeit letzte_testdauer fehlercode ortstext aktualisiert_am
196618 AW 0 1 DS LTM_3H 0000 Corridor
The header and each record contain ten fields. Do not split on arbitrary whitespace, as this loses empty fields. The Web Master guide explains the columns. Do not equate ueberwachung=0 with communication loss.
Individual luminaire diagnostics
Use the ID from the first TSV column:
curl --fail --max-time 10 "http://192.168.1.50/data/luminaire.php?id=196618"
Example for a standard AirBus luminaire at physical address 10:
{"id":196618,"channel":3,"physical_address":10,"error_code":"0000","nvg":null}
For NVG, nvg contains led1, led2, mains, input_l1, input_l2, maintained1, maintained2 and communication_error. LED values: 0 off, 1 on, 2 blinking, 3 fault. With communication_error=true, the other NVG values are the last received snapshot, not confirmed live data.
Error dictionary
curl --fail --max-time 10 http://192.168.1.50/data/errorcodes.php
Keep codes as four-character hexadecimal strings, including leading zeros.
| Code | Meaning |
|---|---|
| 0000 | No fault in the states read |
| 0400 | No communication with luminaire |
| F001 | LED light source fault |
| F002 | Battery missing or disconnected |
| F003 | LED fault and missing battery |
| F004 | Control gear overtemperature |
| F011 / F012 / F013 | NVG: LED1 / LED2 / both outputs faulty |
| F100 | General controller fault or no configured luminaires |
| FFFE | Unconfirmed state or incomplete diagnostic data |
Fxxx codes belong to the EZF adapter. Add their descriptions to the integration system. A single luminaire code cannot describe every simultaneous fault; also use NVG details.
Responses and polling
| HTTP | Meaning | Client action |
|---|---|---|
| 200 | Response available | Check format and status codes |
| 400 | Invalid ID or channel | Correct the parameter using the TSV list |
| 403 | Luminaire API disabled | Enable data sharing on the controller |
| 404 | Luminaire not found | Refresh the inventory |
| 503 | Data unavailable or response exceeds the limit | Display unavailable current data and check the controller |
Use timeouts and limited retries with delays. Set the polling interval during commissioning. Do not run an unlimited request loop. Never display an error, empty response or cached old state as a current OK result.
In this release, the TSV limit is 24576 bytes. Exceeding it returns HTTP 503, not a truncated list with HTTP 200. Reads from separate endpoints are not a single atomic report.
Integration checks
Check successful reads, disabled luminaire API, invalid and nonexistent IDs, and connection loss. Compare fault interpretation with the controller display. Tools and simulators let you prepare the client without a connected device.