Skip to main content

Orange TV smart home integration, free and open source

Orange TV integration for Gladys Assistant

Orange TV decoder: power, channels and volume from Gladys, remote widget, channel scenes.

Control and follow your Orange TV decoder (UHD 86, TV 4, TV 5, TV 6) from Gladys, on your local network: turn it on or put it in standby, see the channel on screen, change channels, raise or lower the volume, and react in your scenes when the TV is turned on or the channel changes.

The integration uses the local HTTP API of the decoder (port 8080), the one the Orange TV mobile app uses. No account, no cloud.

Developed without the hardware: feedback welcome. The integration was built and tested against a simulator faithful to the answers published by the open source projects that use this API, not against a real decoder. Tell us what works and what does not on GitHub or on the Gladys forum.

Requirements​

  • An Orange TV decoder connected to your Livebox, on the same network as Gladys.
  • Its IP address: in the Livebox interface (http://192.168.1.1), under the connected devices. Reserve it (static DHCP lease) so it does not change.
  • Gladys 5.1.0 or later.

Configuration​

In Integrations → Orange TV → Configuration:

  • IP address: the address of the decoder, e.g. 192.168.1.20 (port 8080 by default; type 192.168.1.20:8081 for another one).
  • Name: the name of the device in Gladys. Empty: "Orange TV" followed by the address.
  • Up to three decoders, one per section.
  • Reading interval: how often the decoders are read, from 5 seconds to 1 minute (10 seconds by default). It is the delay before Gladys sees a channel change made with the remote.
  • Language of the names: language of the feature names and of the texts the integration sends. Choose it before adding the devices: Gladys keeps the names given at creation.

Test the decoders reads every decoder and says what it shows. Then add the devices from the Discovery tab.

Devices​

One device per decoder, with these features:

FeatureWhat it does
PowerOn (1) or standby (0). A decoder that stops answering counts as off. Writable: turns the decoder on or off.
Channel numberNumber of the live channel on the remote, 0 when none. Writable: types the number on the remote.
ChannelName of the channel, or what the decoder shows: Home page, Video on demand, Standby, Off.
Channel upButton: next channel.
Channel downButton: previous channel.
Volume upButton: one volume step up.
Volume downButton: one volume step down.
MuteButton: mute or unmute.
Play / pauseButton: pause live TV or a replay, and resume.

The power key of the remote is a toggle: the integration reads the decoder first and presses it only when needed, so "turn off" never turns a decoder on.

The channel names come from a table of the Orange line-up embedded in the integration (free channels, the main ones up to 40). A channel missing from it shows as EPG <id> (its id in the Orange guide), with number 0.

Widgets​

Remote​

The state of the decoder and the channel on screen, with four buttons: Turn on (or Standby when it is on), then either Channel −, Channel + and Mute (default) or Volume −, Volume + and Mute (setting Buttons). Gladys allows four buttons per widget: put two Remote widgets side by side for the whole remote.

Favorite channels​

Four channel buttons, numbers chosen in the widget settings (TF1, France 2, France 3 and M6 by default). The channel on screen carries a check mark. A tap on a decoder in standby turns it on first, then types the number.

Scene triggers​

  • Decoder turned on: the decoder left standby. Information passed on: decoder name, channel number, channel.
  • Decoder turned off: the decoder went to standby, or stopped answering (filter How). Information passed on: decoder name, how (standby or unreachable).
  • Channel changed: the decoder switched to another live channel (filter on a channel number, empty: any). Information passed on: decoder name, channel number and name, previous channel number and name. Going through the home page and back to the same channel is not a change; the first channel seen after a start of the integration on the home page or in standby is one, without previous channel.

The events fire even for a decoder not added in Gladys.

Scene actions​

  • Turn the decoder on or off: presses the power key only when needed. Output: whether the key was pressed.
  • Put on a channel: types the channel number on the remote; turns the decoder on first if it is in standby (about 6 seconds). Outputs: channel number and name.
  • Press a remote key: OK, back, menu, TV guide, arrows, channels, volume, mute, play / pause, rewind, fast forward, record, video on demand, power; up to 10 times (volume steps).

Without a decoder chosen, the actions drive the first decoder of the configuration.

Scene examples​

  • Morning news: at 7:00 on weekdays → Put on a channel 16 (franceinfo).
  • Movie night: Decoder turned on after 20:00 → dim the living room lights.
  • Quiet house: Decoder turned off → turn off the TV power strip after 5 minutes.
  • Children: Channel changed to a given number → send a message.

Troubleshooting​

  • "does not answer (off, or wrong address)": check the IP address in the Livebox; the decoder must be powered. In deep standby (the energy saving mode of the decoder) it stops answering on the network: it then shows as Off and can only be turned on with its remote.
  • "answers, but is not an Orange TV decoder": the address is another device's.
  • The channel shows EPG 1234: the channel is not in the embedded table; tell us its number and name in an issue.
  • A typed channel is wrong: the digits are typed 0.35 s apart; tell us if your decoder needs more.
  • Logs: Integrations → Orange TV → Logs; set LOG_LEVEL=debug for every reading.

Limitations​

  • Developed without the hardware: the reading of standby, of the home page and of the apps comes from the open source projects, not from tests on a real decoder. The Orange "Clé TV" (Android TV) probably has no such local API: not supported until someone confirms it does.
  • No program guide: the decoder only gives the id of the channel on screen, and the integration does not call any Orange online service.
  • A decoder in deep standby cannot be woken up from the network.
  • No discovery: the IP address is typed in the configuration.
  • The local API has no password: anyone on your network can drive the decoder, with or without Gladys. The integration only sends keys of the remote.
  • Not affiliated with Orange. Orange is a trademark of Orange SA.

Configuration settings​

These are the settings Orange TV asks for in its configuration screen in Gladys.

SettingTypeRequiredDescription
Your decoderssectionNoOrange TV decoder (UHD 86, TV 4, TV 5, TV 6) on the same network as Gladys. Find its IP address in your Livebox (connected devices) and reserve it so it does not change. Up to three decoders.
IP addressstringYesIP address of the decoder on your network (port 8080 by default).
NamestringNoName of the device in Gladys. Empty: "Orange TV" followed by the address.
Second decoder (optional)sectionNoSame fields, for another Orange TV decoder of your home.
IP addressstringNoIP address of the decoder on your network (port 8080 by default).
NamestringNoName of the device in Gladys. Empty: "Orange TV" followed by the address.
Third decoder (optional)sectionNoSame fields, for another Orange TV decoder of your home.
IP addressstringNoIP address of the decoder on your network (port 8080 by default).
NamestringNoName of the device in Gladys. Empty: "Orange TV" followed by the address.
OptionssectionNo
Reading intervalselectNoHow often the decoders are read: the delay of the channel and power updates.
Language of the namesselectNoLanguage of the feature names and of the texts the integration sends (channel, scene messages).

How to install Orange TV in Gladys​

  1. In Gladys, open Integrations: Orange TV 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-orange-tv:1.0.0), 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-orange-tv.

Orange TV 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​

Orange TV 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 🙂