Custom Home Assistant integration for ATI Straton Flex aquarium lights.
This is an early HACS-style integration. It talks to the local Straton web interface and starts with read-only entities only. It does not change the light program, demo mode, Wi-Fi settings, firmware, user credentials, or reset state.
- Add this repository to HACS as a custom repository.
- Select category
Integration. - Install
ATI Straton Flex. - Restart Home Assistant.
- Add the integration from Settings > Devices & services.
Copy custom_components/ati_straton into your Home Assistant
custom_components directory and restart Home Assistant.
The config flow asks for:
- Host or URL, for example
192.168.0.22orhttp://192.168.0.22 - Username
- Password
The ATI web interface uses a local session cookie. The integration stores the configured username and password in the Home Assistant config entry so it can re-authenticate when the session expires.
The first read-only version creates:
- Connection status
- Warning and danger flags from
/api/current - Device type
- Firmware version and release
- Uptime
- Lamp time and timezone
- Last successful update
- Raw ADC value
- Estimated power in watts, using the formula observed in the ATI web UI
- Program group count and compact group attributes
- Per enabled spot:
- Online status
- Temperature
- Last online update
- Per active program group:
- Current scheduled intensity
- Next scheduled change
The integration registers a read-only sidebar panel named ATI Straton.
The panel displays the daily light curve from /api/timelines:
- Program group checkboxes below the curve
- SVG curve with time and intensity axes
- Current-time marker
- Support points with time, intensity, and color preset
- Spot status and temperature for the selected group
- Current color spectrum channel values
The panel is intentionally read-only. It does not call PUT /api/data, demo,
preview, network, firmware, reboot, or reset endpoints.
Read-only endpoints used by this integration:
GET /api/infoGET /api/stateGET /api/timeinfoGET /api/currentGET /api/timelinesGET /api/spotsGET /api/colorsGET /api/devicesGET /api/versionGET /api/uptimeGET /api/demoGET /api/par-table
Potential future actions are intentionally not implemented yet:
POST /api/demoPUT /api/dataPOST /api/networkGET /api/rebootPOST /api/reset-device- Firmware update endpoints
The first analysis found:
- Local master:
114619 - Linked Straton:
147335at192.168.0.223 - Device type:
Straton Flex 153 - Software:
3.0.4,2024.4-beta - Program groups:
Links,Mitte,rechts
Run a syntax check from the repository root:
python3 -m py_compile custom_components/ati_straton/*.py