Enigma2 smart home integration, free and open source

Enigma2 receivers through OpenWebif: power, volume, channels, programme guide, TV messages.
Follow and control your Enigma2 satellite, cable or terrestrial receivers (VU+, Dreambox, Zgemma, Octagon, GigaBlue, Edision…) from Gladys, over your local network, through their OpenWebif web interface: switch them on or to standby, set the volume, change channel from your favourites, see the channel and programme on screen, know when a recording runs, and show a message on the TV when someone rings at the door.
Developed without the hardware: feedback welcome. This integration was built and tested against the answers documented by OpenWebif and real answers published by the Home Assistant and openwebifpy projects, not against a real receiver. If something does not work as described, please say so on the Gladys forum or in the issues.
This integration is not affiliated with any receiver manufacturer.
What you need
- Gladys Assistant 5.1.0 or later.
- A receiver running an Enigma2 image (openATV, OpenPLi, OpenViX,
VTi, Dreambox OS with OpenWebif…) with the OpenWebif plugin, installed
and enabled on most images. Open
http://<address of the receiver>/in a browser: if the OpenWebif page shows, the integration can reach it. - The receiver and Gladys on the same network. A fixed IP address for the receiver (DHCP reservation in your router) avoids surprises.
- If OpenWebif asks for a login: the user (usually
root) and its password.
Set up
In Gladys, Integrations → Install from GitHub, then open the Enigma2 integration and its Configuration tab. Up to three receivers, each with:
- Address: the IP address or name of the receiver, for example
192.168.1.20. Addhttps://in front for HTTPS, and:portafter if OpenWebif does not listen on the standard port (192.168.1.20:8080). - User and Password: only if OpenWebif asks for a login. When only the
password is filled, the user
rootis used. - Name: the name of the device in Gladys; empty, the brand and model the receiver reports.
The options are shared by every receiver:
- Accept a self-signed certificate: OpenWebif serves HTTPS with a self-signed certificate. Tick it only for your own receivers.
- Favourites bouquet: the TV bouquet offered as channel list, by its name as the receiver shows it. Empty: the first TV bouquet.
- Refresh interval: 10 seconds, 30 seconds (default) or 1 minute.
- Language of the texts: the feature names given when a device is added, and the texts published as states (channel, programme). French by default.
Save, then press Test the receivers: one line per receiver, with its model, its OpenWebif version and the number of channels found, or what went wrong. Then go to the Discovery tab and add each receiver to Gladys.
The device of each receiver
One device per receiver, known by the MAC address the receiver reports (the same device even when its address changes).
| Feature | What it does |
|---|---|
| Power (on / standby) | On, or standby. Deep standby is never used: the receiver could no longer be woken up. |
| Volume | The volume of the receiver, 0 to 100 %. |
| Volume up / down | Buttons, one step each. |
| Mute | A button: each press mutes or unmutes the sound. |
| Next / previous channel | Buttons, inside the favourites bouquet (from the last channel back to the first one). |
| Last channel | A button: back to the channel watched before. |
| Channel number | The position of the channel in the favourites bouquet; typing a number switches to it. |
| Favourite channels | A list of the channels of the bouquet: picking one switches to it. |
| Current channel | Its name, "Standby" or "Unreachable". |
| Current programme | Start, end and title, from the programme guide of the receiver. |
| Next programme | The same for the programme after it. |
| Recording in progress | Yes while the receiver records (also from its standby). |
A receiver that does not answer two polls in a row (switched off, in deep standby, cut from the network) is shown in standby with the channel "Unreachable", until it answers again.
Dashboard
The Enigma2 receiver widget shows, for the receiver chosen in its settings: the channel and the current and next programmes, the volume (live), the state, the recording and the sound, and four buttons: On / standby, Channel −, Channel + and Mute. In standby, only the power button stays.
The features of the device can also be placed in the standard device widgets: the volume slider, the channel list, the remote buttons.
Scenes
Triggers
None, on purpose: every change worth waiting for is a state of the device, which the scene editor already offers ("the receiver is switched on", "the recording starts", "the current channel is…").
Actions
- Show a message on the TV: a text over the picture, as an information, a warning or an alert, for a given number of seconds (0: until closed with the remote). Scene variables can be used in the text.
- Switch to a channel: by its number in the favourites bouquet or by its name (case and accents ignored, the beginning of the name is enough). Its output, the channel name, can be used by the next actions of the scene.
The usual Control a device action drives the power and the volume.
Scene ideas
- Doorbell: when the doorbell rings, show "Someone is at the door" on the TV for 15 seconds, as a warning.
- Good night: at 1:00, if the receiver is still on, put it to standby.
- News time: at 20:00 on weekdays, if the receiver is on, switch to your news channel.
- Washing machine: when the power of the washing machine plug drops, show "The washing is done" on the TV.
Refresh and load
The integration reads each receiver itself, at the chosen interval: one call to
/api/statusinfo, plus /api/getcurrent (programme guide) while it is on —
two small requests to a device of your local network, no quota, no cloud. The
favourites bouquet is read again every hour (and on Test the receivers).
Only the changes are sent to Gladys, plus an unchanged value every six hours.
A receiver is read only once its device was added to Gladys.
Troubleshooting
- "No receiver answers": check the address in a browser from a computer of the same network; check that OpenWebif is enabled on the receiver (Menu → Plugins). A receiver in deep standby does not answer.
- "A receiver refuses the user or password": OpenWebif asks for a login;
fill the user (usually
root) and the password of the receiver. - HTTPS fails: tick Accept a self-signed certificate, or use the HTTP address.
- Empty or wrong channel list: fill the Favourites bouquet with the exact name of a TV bouquet of the receiver, then press Test the receivers and update the device in the Discovery tab.
- "No programme guide": the receiver has no EPG data for that channel (common on some radio or local channels).
- Detailed logs: set
LOG_LEVEL=debugon the integration container.
Limits
- Developed without the hardware: tested against documented and published OpenWebif answers, not against a real receiver.
- Up to three receivers. Only the TV bouquets are offered, 200 channels at most.
- A receiver in deep standby cannot be woken up over the network (Wake-on-LAN is not supported by most receivers): use the standby.
- The receivers are not discovered automatically: enter their address.
- No picture of the channel (picon) and no screenshot, no timer management.
- The feature names are fixed when the device is added: change the language before adding it.
Configuration settings
These are the settings Enigma2 asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| Your receivers | section | No | Enigma2 receivers (VU+, Dreambox, Zgemma, Octagon, GigaBlue…) with the OpenWebif plugin, installed on most images. Up to three receivers. Not affiliated with any receiver manufacturer. |
| Address | string | Yes | IP address or name of the receiver, with https:// for HTTPS and :port if not the default. |
| User | string | No | Only if OpenWebif asks for a login ("root" on most images). Empty otherwise. |
| Password | secret | No | The password of that user on the receiver. Empty if OpenWebif asks for none. |
| Name | string | No | Name of the device in Gladys. Empty: the brand and model of the receiver. |
| Receiver 2 (optional) | section | No | Same fields, for another receiver of your home. |
| Address | string | No | IP address or name of the receiver, with https:// for HTTPS and :port if not the default. |
| User | string | No | Only if OpenWebif asks for a login ("root" on most images). Empty otherwise. |
| Password | secret | No | The password of that user on the receiver. Empty if OpenWebif asks for none. |
| Name | string | No | Name of the device in Gladys. Empty: the brand and model of the receiver. |
| Receiver 3 (optional) | section | No | Same fields, for another receiver of your home. |
| Address | string | No | IP address or name of the receiver, with https:// for HTTPS and :port if not the default. |
| User | string | No | Only if OpenWebif asks for a login ("root" on most images). Empty otherwise. |
| Password | secret | No | The password of that user on the receiver. Empty if OpenWebif asks for none. |
| Name | string | No | Name of the device in Gladys. Empty: the brand and model of the receiver. |
| Options | section | No | Shared by every receiver. |
| Accept a self-signed certificate | boolean | No | For https:// addresses: OpenWebif serves a self-signed certificate. Tick only for your own receivers. |
| Favourites bouquet | string | No | Name of the TV bouquet offered as channel list, as shown on the receiver. Empty: the first one. |
| Refresh interval | select | No | How often each receiver is read (two small requests). |
| Language of the texts | select | No | Names given to the features when a device is added, and texts published as states (channel, programme). |
How to install Enigma2 in Gladys
- In Gladys, open Integrations: Enigma2 appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/guim31/gladys-enigma2: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-enigma2.
Enigma2 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
Enigma2 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 integrations, native and community
- Build and publish your own external integration
- Source code on GitHub — source of this documentation