Skip to main content

Enigma2 smart home integration, free and open source

Enigma2 integration for Gladys Assistant

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. Add https:// in front for HTTPS, and :port after 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 root is 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).

FeatureWhat it does
Power (on / standby)On, or standby. Deep standby is never used: the receiver could no longer be woken up.
VolumeThe volume of the receiver, 0 to 100 %.
Volume up / downButtons, one step each.
MuteA button: each press mutes or unmutes the sound.
Next / previous channelButtons, inside the favourites bouquet (from the last channel back to the first one).
Last channelA button: back to the channel watched before.
Channel numberThe position of the channel in the favourites bouquet; typing a number switches to it.
Favourite channelsA list of the channels of the bouquet: picking one switches to it.
Current channelIts name, "Standby" or "Unreachable".
Current programmeStart, end and title, from the programme guide of the receiver.
Next programmeThe same for the programme after it.
Recording in progressYes 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=debug on 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.

SettingTypeRequiredDescription
Your receiverssectionNoEnigma2 receivers (VU+, Dreambox, Zgemma, Octagon, GigaBlue…) with the OpenWebif plugin, installed on most images. Up to three receivers. Not affiliated with any receiver manufacturer.
AddressstringYesIP address or name of the receiver, with https:// for HTTPS and :port if not the default.
UserstringNoOnly if OpenWebif asks for a login ("root" on most images). Empty otherwise.
PasswordsecretNoThe password of that user on the receiver. Empty if OpenWebif asks for none.
NamestringNoName of the device in Gladys. Empty: the brand and model of the receiver.
Receiver 2 (optional)sectionNoSame fields, for another receiver of your home.
AddressstringNoIP address or name of the receiver, with https:// for HTTPS and :port if not the default.
UserstringNoOnly if OpenWebif asks for a login ("root" on most images). Empty otherwise.
PasswordsecretNoThe password of that user on the receiver. Empty if OpenWebif asks for none.
NamestringNoName of the device in Gladys. Empty: the brand and model of the receiver.
Receiver 3 (optional)sectionNoSame fields, for another receiver of your home.
AddressstringNoIP address or name of the receiver, with https:// for HTTPS and :port if not the default.
UserstringNoOnly if OpenWebif asks for a login ("root" on most images). Empty otherwise.
PasswordsecretNoThe password of that user on the receiver. Empty if OpenWebif asks for none.
NamestringNoName of the device in Gladys. Empty: the brand and model of the receiver.
OptionssectionNoShared by every receiver.
Accept a self-signed certificatebooleanNoFor https:// addresses: OpenWebif serves a self-signed certificate. Tick only for your own receivers.
Favourites bouquetstringNoName of the TV bouquet offered as channel list, as shown on the receiver. Empty: the first one.
Refresh intervalselectNoHow often each receiver is read (two small requests).
Language of the textsselectNoNames given to the features when a device is added, and texts published as states (channel, programme).

How to install Enigma2 in Gladys​

  1. In Gladys, open Integrations: Enigma2 appears in the catalog, next to the native integrations, with a community badge.
  2. 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).
  3. Open the Configuration screen of the integration, fill in the settings, and save.
  4. 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.

Subscribe to the Gladys Assistant newsletter

A few emails per month about new releases and project news. Sent by Pierre-Gilles Leymarie, founder of the project. Unsubscribe anytime 🙂