SMLIGHT SLZB smart home integration, free and open source

SMLIGHT SLZB Zigbee coordinators on the local network: health, firmware updates, restarts.
Keep an eye on your SMLIGHT SLZB Zigbee coordinators (SLZB-06, SLZB-06M, SLZB-06p7, SLZB-07, SLZB-MR1, Ultima…) from Gladys, over your local network: their temperatures and memory, whether Zigbee2MQTT is connected to them, their network link, their firmware and its updates, and restart them or their Zigbee chip when the Zigbee network misbehaves.
Developed without the hardware: feedback welcome. This integration was built and tested against real answers of SLZB coordinators published by the pysmlight library and the Home Assistant integration, not against a coordinator on a desk. If something does not work as described, please say so on the Gladys forum or in the issues.
This integration is not affiliated with SMLIGHT.
What you need
- Gladys Assistant 5.1.0 or later.
- An SLZB coordinator with firmware v2.3.6 or later (SLZB-OS), on the same network as Gladys. Older firmware has no local API to read: update it from the SLZB web interface first.
- If you protected the SLZB web interface with a login (Settings → Security), its username and password.
The integration reads the coordinator; it does not replace Zigbee2MQTT or ZHA, which keep driving your Zigbee devices through it.
Set up
- Install SMLIGHT SLZB from the Gladys catalog (or Integrations →
Install from GitHub with
https://github.com/guim31/gladys-smlight). - Open the Discover tab: the coordinators on the network of Gladys are
found automatically (mDNS). One is missing? Enter its IP address in Configuration (Coordinator IP addresses) (the SLZB web interface shows it on its Network page),
for example
192.168.1.50; several addresses are separated by commas. - Login: fill in Username and Password only if the web interface of the SLZB asks for one. The same login is used for every coordinator.
- Click Test the connection: the message under the button lists the coordinators found and what failed.
- In Discover, click Add to Gladys on each coordinator, pick a room, save.
Options:
- Refresh interval: 30 seconds or 1 minute (default).
- Check for firmware updates: on by default. Once a day, the integration asks the SMLIGHT update server, on the Internet, for the latest firmware of each coordinator, like the SLZB web interface does. Turn it off to stay fully local: the features of the latest versions and of the update are then not created.
- Language of the feature names: English, French (default), German or Spanish. The names are given when a device is added.
The device of each coordinator
Each coordinator is one device, named after its host name. Only the features the coordinator offers are created.
| Feature | What it is |
|---|---|
| ESP32 core temperature | Temperature of the ESP32 chip that runs the coordinator, in °C |
| Zigbee chip temperature | Temperature of the Zigbee radio chip, in °C (Radio 1 temperature, Radio 2 temperature on models with two radios) |
| RAM used, File system used | Memory used by the coordinator, in kilobytes (the gauge goes up to the total) |
| Uptime | Time since the coordinator started, in hours |
| Zigbee client connected for | Time since Zigbee2MQTT or ZHA connected to the coordinator over the network, in hours; 0: no client connected |
| Network link | Ethernet, Wi-Fi or LTE |
| Coordinator mode | How the Zigbee radio is offered: Ethernet, Wi-Fi or USB |
| Core firmware, Zigbee firmware | Installed versions (Radio 1 firmware, Radio 2 firmware on models with several radios) |
| Latest core firmware, Latest Zigbee firmware | Latest versions on the SMLIGHT update server, on the firmware channel chosen in the SLZB web interface (Latest radio 1 firmware, Latest radio 2 firmware on models with several radios) |
| Firmware update available | On when a newer core or Zigbee firmware exists |
| Internet reachable | Whether the coordinator reaches the Internet (asked every 15 minutes) |
| LEDs off, LED night mode | Switches: turn the LEDs of the coordinator off, or dim them at night, when the firmware offers it |
| Restart coordinator | “Push” button: restarts the whole coordinator (about 20 seconds without Zigbee) |
| Restart Zigbee chip | “Push” button: restarts the Zigbee radio only (Restart radio 1, Restart radio 2 on the Ultima and U models) |
The values are read every 30 or 60 seconds, and only the ones that changed are sent to Gladys. The integration never flashes a firmware and never changes the coordinator mode: a mistake there would leave your Zigbee network without its coordinator. Use the SLZB web interface for that.
Dashboard widget
Add the SLZB coordinator widget to a dashboard (Edit, then Add in a column). Choose the coordinator in its settings; empty, it shows the first one. It shows:
- the ESP32 and Zigbee chip temperatures (live) and the uptime;
- the state of the coordinator (online, unreachable, login refused), whether a Zigbee client is connected, the network link and the mode;
- the installed firmware, with the new version next to it when there is one;
- whether the coordinator reaches the Internet;
- the buttons Restart Zigbee (Restart radio 1, Restart radio 2 on the models that restart each radio) and Restart, each asking for a confirmation.
Scenes
Triggers
- SLZB firmware update available: a new core or Zigbee firmware is out for
a coordinator. Once per version, even across restarts. Filters: the
coordinator, the firmware (Core (ESP32) or Zigbee chip). Variables: the
coordinator name, the firmware (
core,zigbee), the installed version and the new version. - SLZB coordinator unreachable: a coordinator stopped answering, two readings in a row (the second one 15 seconds after the first). Variable: what happened.
- SLZB coordinator back: it answers again. Variable: the minutes without answer.
- SLZB coordinator restarted: its uptime went back to zero (power cut,
crash, firmware update, restart command), even when the restart was too quick
to be seen as an outage. Filter and variable: the origin,
gladyswhen Gladys asked for the restart in the previous 3 minutes,otherotherwise. Variable: the uptime before the restart, in hours.
Scene ideas
- SLZB coordinator unreachable → send a message "The Zigbee coordinator no longer answers: Zigbee devices are offline", and turn on a light of the hallway that is not Zigbee.
- SLZB coordinator restarted with origin Not from Gladys → send a message with the previous uptime: a coordinator that restarts on its own often has a power supply problem.
- SLZB firmware update available → send a message "Firmware {{triggerEvent.data.latest_version}} is out for {{triggerEvent.data.coordinator}}" and update it from the SLZB web interface when it suits you.
Troubleshooting
- No coordinator in Discover: mDNS may not cross your network (VLAN, Docker without host network for Gladys…). Enter the IP address of the coordinator in the configuration, then click Test the connection.
- Login refused: the SLZB web interface is protected; enter its username and password in the configuration.
- "not an SLZB, or firmware older than v2.3.6": update the firmware from the SLZB web interface (or the SMLIGHT web flasher), or check the address.
- Internet reachable stays empty: the state comes from the event stream of the coordinator (port 81 since firmware v2.6.8); without it, the integration sends no Internet state rather than a wrong one.
- The latest firmware stays empty: the coordinator model is not in the
SMLIGHT catalog, or Gladys cannot reach
updates.smlight.tech; the integration tries again every hour. - Debug logs: set
LOG_LEVEL=debugin the container environment.
Limits
- No firmware update, no mode change, no Wi-Fi or network settings from Gladys, by design.
- The Bluetooth proxy, the infrared, the buzzer and the ambient light of the Ultima are not supported.
- Firmware older than v2.3.6 is not supported.
- Requests: two small HTTP requests per coordinator every 30 or 60 seconds, one Internet state request every 15 minutes, and, with the option on, one request per firmware (core and each radio) per day to the SMLIGHT update server. Nothing else leaves your network.
- The login is the same for every coordinator.
- The feature names are chosen when the device is added; a coordinator whose radios change (Thread instead of Zigbee, a new chip) offers an Update in the Discover tab.
Configuration settings
These are the settings SMLIGHT SLZB asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| Finding your coordinators | section | No | SLZB coordinators on the same network as Gladys are found automatically (mDNS): open the Discover tab. If one is missing, enter its IP address below (shown in the SLZB web interface, Network page). |
| Coordinator IP addresses | string | No | Optional, separated by commas. Only needed for the coordinators automatic discovery does not find. |
| Web interface login | section | No | Only if you protected the SLZB web interface with a login (Settings, Security page). The same login is used for every coordinator. |
| Username | string | No | |
| Password | secret | No | |
| Options | section | No | |
| Refresh interval | select | No | How often the coordinators are read. Each reading is two small requests. |
| Check for firmware updates | boolean | No | Once a day, on the SMLIGHT update server (Internet), like the SLZB web interface. Nothing is ever installed from Gladys. |
| Language of the feature names | select | No | Names given to the features of new devices (Uptime, Core firmware...), and texts of the scene variables. |
How to install SMLIGHT SLZB in Gladys
- In Gladys, open Integrations: SMLIGHT SLZB appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/guim31/gladys-smlight:1.0.1), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration). - Open the Configuration screen of the integration, fill in the settings, and save.
- You can also install it directly from its repository URL: https://github.com/guim31/gladys-smlight.
SMLIGHT SLZB requires Gladys >=5.1.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.
Not running Gladys yet? It is free and open source: follow the installation guide to get started.
About external integrations
SMLIGHT SLZB is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by guim31, not by the Gladys core team.
- Browse all external integrations
- Discover the native integrations built into Gladys
- Build and publish your own external integration
- Source code on GitHub — source of this documentation