[APP][Pro] Enigma2 DVB Boxes Support

enigma2 for Homey

Control and monitor compatible Enigma2 receivers from Homey over your local network using OpenWebif.

Production version:
enigma2 for Homey

Test version:
enigma2 for Homey – Test :fast_forward:

Source code:

About the app

The enigma2 app connects Homey to compatible Linux-based DVB receivers through the OpenWebif API.

Depending on the receiver and its OpenWebif implementation, Homey can:

  • Turn the receiver on or place it in standby
  • Monitor whether it is online or unavailable
  • Check whether it is in standby
  • Control volume and mute
  • Change channels
  • Control play, pause, next and previous
  • Show the current channel and programme title
  • Show programme duration and progress
  • Display the channel picon as album artwork
  • Send remote-control command IDs
  • Display messages on the television
  • Restart the Enigma2 software
  • Reboot the receiver
  • Put the receiver into deep standby
  • Use these functions in standard and Advanced Flows

Current versions

At the time of this update, recent development includes:

  • Availability and unavailability Flow triggers
  • Configurable polling interval
  • Device-specific Flow cards for multiple receivers
  • Improved receiver targeting
  • Fixed standby and mute Flow behaviour
  • Improved polling and playback-state recovery
  • Improved pairing validation
  • HTTP and HTTPS protocol selection
  • Better handling of self-signed HTTPS certificates
  • Safer error handling without exposing credentials or complete request URLs
  • Improved message validation
  • Czech and Slovak programme-title decoding
  • ISO-6937 and Central European text-encoding handling
  • Updated dependencies and regression testing

Requirements

To use the integration:

  1. The receiver must run Enigma2.
  2. The OpenWebif plugin must be installed and running.
  3. Homey must be able to reach the receiver over the local network.
  4. The OpenWebif port must be accessible from Homey.
  5. A username and password must be entered if OpenWebif authentication is enabled.

Both HTTP and HTTPS are supported. HTTPS is recommended when the receiver supports it, but it is no longer mandatory.

Typical settings are:

  • HTTP: port 80
  • HTTPS: port 443
  • Protocol: Automatic, HTTP or HTTPS
  • Polling interval: 5–60 seconds
  • Username and password: optional, depending on OpenWebif configuration

In Automatic mode, the app uses HTTPS for port 443 and HTTP for other ports.

HTTPS certificates

Many Enigma2 receivers use a self-signed HTTPS certificate. For compatibility, Allow untrusted certificates is enabled by default.

Disable this option if your receiver uses a certificate that can be properly validated and you want strict certificate verification.

Allowing an untrusted certificate encrypts the connection but does not verify the identity of the receiver. Only use this on a trusted local network.

Network configuration

Homey and the receiver must be able to communicate directly.

Communication can fail when:

  • Homey and the receiver are in isolated VLANs
  • Client isolation is enabled
  • The receiver is on an isolated guest network
  • A firewall blocks the configured OpenWebif port
  • The receiver’s IP address has changed
  • OpenWebif listens only on another interface or port
  • HTTP or HTTPS is selected incorrectly

Assigning the receiver a fixed IP address or DHCP reservation is strongly recommended.

Pairing

  1. Confirm that OpenWebif works from a browser on the same network.
  2. In Homey, select Add device and choose enigma2.
  3. Enter the receiver’s IP address or hostname.
  4. Enter the OpenWebif port.
  5. Select Automatic, HTTP or HTTPS.
  6. Enter the username and password when required.
  7. Decide whether self-signed certificates should be accepted.
  8. Test the connection.
  9. Add the detected receiver.

Pairing calls the OpenWebif device-information endpoint and validates that the selected receiver returns a usable Enigma2 response before the device is added.

Device information and picons

During polling, the app can display:

  • Current channel or service name
  • Current programme title
  • Programme duration
  • Programme position
  • Programme progress
  • Playing or paused state
  • Current volume
  • Mute state
  • Standby state
  • Receiver availability

When available, the current channel picon is loaded through OpenWebif and displayed as album artwork in Homey.

Picons must be accessible through the configured OpenWebif connection under:

/picon/

For example:

https://RECEIVER-IP:443/picon/

or:

http://RECEIVER-IP:80/picon/

The exact filename is derived automatically from the current Enigma2 service reference.

Flow support

When…

The app provides standard Homey capability triggers and dedicated receiver triggers:

  • Device becomes available
  • Device becomes unavailable
  • Receiver turned on
  • Receiver turned off
  • Started playing
  • Stopped playing
  • Artist or channel information changed
  • Track or programme title changed
  • Volume changed

The availability triggers are activated when polling detects that the receiver has gone offline or has become reachable again.

And…

  • Receiver is or is not in standby
  • Receiver is or is not turned on
  • Receiver is or is not playing

Then…

Power and receiver management

  • Turn on or wake from standby
  • Turn off or enter standby
  • Toggle on or off
  • Enter deep standby
  • Reboot the receiver
  • Restart the Enigma2 software

Channel and playback control

  • Channel up
  • Channel down
  • Next
  • Previous
  • Play
  • Pause
  • Toggle play or pause

Volume control

  • Set volume
  • Change volume relatively
  • Volume up
  • Volume down
  • Mute
  • Unmute
  • Toggle mute

Additional actions

  • Send a remote-control command ID
  • Display a message on the receiver

Device-specific Flow cards

Current Flow cards allow the target Enigma2 receiver to be selected explicitly. This is important when multiple receivers are installed.

Older non-device-specific Flow cards are deprecated and can no longer be added to new Flows. Existing Flows using those cards remain supported for backward compatibility.

New Flows should always use the device-specific cards.

:warning: Deep standby warning

The Deep standby mode action shuts the receiver down to its lowest power state.

After executing this action:

  • OpenWebif will no longer be reachable.
  • Homey cannot send additional network commands.
  • The receiver will be marked unavailable.
  • Normal network wake-up may not work.

Recovery depends entirely on the receiver hardware and configuration. Some receivers support Wake-on-LAN or a scheduled timer; others must be powered on manually.

Do not use deep standby in a Flow unless you have verified how your particular receiver can be started again.

Displaying messages

Messages use the following format:

Type|Timeout|Message

Do not add spaces around the | separators.

Message types

  • 0 – Yes/No question; currently displayed only, without returning the selected answer to Homey
  • 1 – Information message
  • 2 – Plain message
  • 3 – Attention or warning message

Timeout

Enter the display time in seconds.

Use 0 to request an indefinitely displayed message, if supported by the receiver image and OpenWebif version.

Examples

Information message displayed for 10 seconds:

1|10|The garage door is still open

Attention message displayed for 30 seconds:

3|30|Alarm activated

Plain message without a timeout:

2|0|Welcome home

The message text may contain additional | characters. Only the first two separators are interpreted as the type and timeout.

Sending remote-control command IDs

Use Send command as ID to emulate individual buttons from a compatible Enigma2 remote control.

Command references:

  1. Enigma2 command spreadsheet
    Green means supported. An empty green field means that the command is not programmed for that device.

  2. OpenWebif box images

  3. OpenWebif remote-control images

Command availability depends on the receiver, remote-control profile, Enigma2 image and OpenWebif implementation.

Compatible receivers

The app should work with Enigma2 receivers that expose a compatible OpenWebif API.

Potentially compatible manufacturers and platforms include:

  • AB-COM
  • Amiko and selected IPBOX devices
  • AX Technology
  • Dreambox
  • Edision
  • Formuler
  • GigaBlue
  • Octagon
  • Opticum
  • Protek
  • Red Eagle
  • Redline
  • Spycat
  • VU+
  • Other Enigma2-compatible Linux receivers

Compatibility is determined by the Enigma2 image and OpenWebif behaviour, not only by the receiver brand.

Not every receiver, image or OpenWebif version is available for testing. Please report successful results as well as problems.

Troubleshooting

If a receiver becomes unavailable:

  1. Open OpenWebif from a browser on the same network.
  2. Verify the IP address and port.
  3. Check whether HTTP or HTTPS is configured correctly.
  4. Verify the username and password.
  5. If using HTTPS, check the self-signed-certificate setting.
  6. Confirm that Homey can reach the receiver’s network or VLAN.
  7. Verify that the receiver is not in deep standby.
  8. Restart the enigma2 Homey app.
  9. Reproduce the problem.
  10. Immediately create a Homey app diagnostic report.

When reporting a problem, include:

  • Diagnostic-report ID
  • Exact receiver brand and model
  • Enigma2 distribution or image
  • Enigma2 version
  • OpenWebif version
  • Homey model and firmware version
  • enigma2 app version
  • Production or test channel
  • Configured protocol and port
  • Whether authentication is enabled
  • Whether a self-signed certificate is used
  • Approximate time of the failure
  • The exact action or Flow card that failed

Do not publish usernames, passwords, access tokens, public IP addresses or remote-access details.

For general help and configuration questions, use this Homey Community topic.

For confirmed application bugs and development-related reports, use GitHub:

Credits

Special thanks to Markus Mahr / carp3-noctem, the original author and developer of this application. :+1: :tophat:

Thanks also to:

  • Martin Timmermans for the Dutch translation
  • The OpenWebif and Enigma2 communities
  • Contributors who test the app on different receivers and Enigma2 images
  • ChatGPT for development assistance

This is an independent community integration and is not affiliated with or endorsed by Athom, OpenWebif or any receiver manufacturer.

:heart: Community development and appreciation

These Homey Community apps are developed and maintained in my spare time. They are free to use, and contributions are never required.

Did you know? In my experience maintaining community Homey apps, only a very small proportion of users choose to support their development financially—even when a new device integration or specific feature has been implemented at their request.

Contributions are entirely optional, but they are a meaningful way to recognise the time invested in development, testing, compatibility updates and ongoing user support.

:heart: Send an optional thank-you via PayPal

A contribution does not unlock additional features or affect the support you receive. It is simply a way to say thank you.

Other Homey apps I maintain

Smart Presence  | 72x72
Smart Presence
Wi-Fi presence detection
Xiaomi Mi Home | 72x72
Xiaomi Mi Home
Xiaomi Mi Home devices
Broadlink    | 72x72
Broadlink
IR, RF and smart devices
TP-Link KASA LAN |                     72x72
TP-Link KASA LAN
Local Kasa control
Yeelights LAN | 72x72
Yeelights LAN
Local Yeelight control
Xiaomi Miija | 72x72
Xiaomi Miija
Temperature and humidity sensors
Octoprint    |            72x72
Octoprint
Monitor your 3D printer
Virtual Radar | 72x72
Virtual

hi markus, just 2 thougts from my side: 1st: what do you mean bey set powerstate? something like boot and shutdown? maybe wake on lan is possible? 2nd: what kind of message do you think of? would it be possible to show an image from a camera (who rings the doorbell)? thx for developing

@mazpo
Enigma2 receivers are able to reflect 5 different power states. These will be reflected by the driver (toggle standby, standby, reboot box, reboot enigma2 sw, deep standby)
WakeOnLAN is possible as far as the box is not in deep standby. So yes this will work.

For massages by default only text messages are supported (as far as I know) but I will check that and search if a picture can be displayed.

@carp3-noctem,
Great News, can you please add in the and colume when chanel is or not. Is this possible? Thanks

i can take a look into that. Maybe it will be possible, that depends on how good the channel list is used and implemented. I will come back to you.

But priority is currently to get everything up and running, new features are then allways possible, hope that is understandable. What i know is that it is possible to get the active channel but the naming then needs to be exactly as reported by the feedback.

If i have an alpha version available, i will let you all know here so you can test the tool.

Today i use ssh to power on/off but a app with more features will be great … Thanks

i like the idea very much!

Please add the following options:

  • get current power state (powered on/off) so it can be used as tag card
    (if enigma is turned ON the do this, If enigma is turned OFF then do this)
    The current state of enigma = OFF That kind of cards.
    OFF = standby (screen is black) ON = watching TV/Radio (screen is on)
  • which channel is currently watched
    -which mode is currently used TV or Radio or Recording

ps:
make sure it also work on homey 1.5.x

Thx for your effort!

@B3rt I can’t test homey firmware 1.5.0 as my homey is the pro version that was delivered with 2.0.0
For your wish it is quite complicated, as the box itself doesn’t tell the state it is in actively. So I need to ask it permanently what the current state is, that would cause a lot of traffic between homey and the box. So actually I have not yet planned to implement it. Maybe also I will do it for a later version.

For the rest I will see what is capable. Don’t know if it is possible to check if radio or TV is used. Will let you know about it.

Thanks for your wishes.

It think it is rather easy…

Make a flow card for ‘and’ flow option. , when ‘and’ is used then poll the receiver and ask the actual state of the card.
For example
If flow is started AND receiver is STANDBY then turn of lights. etc
or
If light is turned off AND receiver is powered ON then do this

So it is for me not needed to do the poll on the IF card but more on the AND flow card.

You can do polling every 1 minute or so, other apps do the same, for example harmony or ping etc, they do also a lot of polling to devices.

Yes, for the and Card it will definitly work and i will implement such a function. For the IF Card, i still will see, if i do the polling. It is definitly possible to do that, no doubt. Currently i’m focus on the first runable version so i will see what will be included there. The polling is not yet one of my prioritys, but if it is wished, i will add it later to the driver.

Thanks anybody for the Feedback, aif you like to have more, do not hesitate to ask for it. As soon as i have a first runable version, i will let you know!

@mazpo @Tolga @djesko @B3rt @Tino @Undertaker

I’m done with the first working Functions, if one of you likes to Alpha Test the App, shoot me a message with your Mail Adress, then i will add you to the Test.

If anybody else would like to have access, you are also welcome!

Current Supported is the following:

  • then (Action) Cards:
    • Powerstates:
      Power ON
      Power OFF
      Reboot Enigma2 Software
      Reboot Receiver
      Deep Standby (DANGER: after Triggering, no more Software Control possible)

    • Volume:
      Mute
      Unmute
      Set Volume to Level (0-100)

Im in ,

Email removed by moderator

DTO, you have PM

Very cool but i fly today for three weeks in the Holiday. Will Test when I’m back. Big Thanks again.

Until then, I hope to have more functions allready implemented. :wink:
Maybe also the first stable is then online. Have a nice holiday!

hi markus, thx for your dev and invitation for alpha testing. because my homey will be a birthday present this summer, i cannot support you at the moment, but i will use/test your app when my homey is here:D

Can’t wait to install. Markus please make a donation button when you’re app is in the store. Thank you again but now is holiday time :grinning:

Hello @carp3-noctem if you need another tester i would be happy to test your app. Currently using the build in http get card to switch on/off my enigma 2 receiver.

Of Course everyone is welcome. The More Testers are able to check the different Functions, the stabler the app will get and if faults are found, i can better track them down.

All that have written me until now are added. If you find Issues, feel free to message here or open a Issue over at Github. I will make sure to implement more functions in the next days / weeks. If i have all Functions available that i originally imagined, i will publish the app, then i will go for the customer requests.

The Current Alpha App was updated to Version 0.0.5 with the following working then / action Flowcards:

  • Powerstates:
    Power ON
    Power OFF
    Reboot Enigma2 Software
    Reboot Receiver
    Deep Standby (DANGER: after Triggering, no more Software Control possible)
    send Command ID’s to control Box

  • Volume:
    Mute
    Unmute
    Set Volume to Level (0-100)

  • Messages:
    Send all Types of Messages
    Format Type|Timeout|Message required!