This is a custom component for Home Assistant.
The liveboxtvuhd integration allows you to observe and control Livebox TV UHD & TV6 for Orange France, Orange Caribbean and Orange Poland.
There is currently support for the following entities within Home Assistant:
- Media Player with EPG:
- Channel source (number + name)
- Current show with image
- Current time
- Serie title, season and episode (if available)
- Remote:
- Power (on/off/toggle)
- Play/Pause
- Channel (next/previous)
- Volume (+/-/mute)
- ...
If you notice a missing channel or an incorrect EPG ID, please open an Issue.
The following channels are currently missing an EPG ID:
| Country | Index | Channel | Status |
|---|---|---|---|
| France | 902 | FRANCE 2 UHD | EPG ID unknown |
| Caraîbes | 4 | CANAL 10 GUADELOUPE | EPG ID unknown |
| Caraîbes | 6 | KOUROU TV | EPG ID unknown |
| Caraîbes | 7 | KMT | EPG ID unknown |
| Caraîbes | 8 | IO TV | EPG ID unknown |
| Caraîbes | 9 | ZITATA TV | EPG ID unknown |
| Caraîbes | 92 | GULLI MAX | EPG ID unknown |
| Caraîbes | 93 | TFOU MAX | EPG ID unknown |
| Caraîbes | 116 | IMEARTH | EPG ID unknown |
| Caraîbes | 139 | MCM | EPG ID unknown |
| Caraîbes | 148 | ADN | EPG ID unknown |
| Caraîbes | 150 | TRACE URBAN | EPG ID unknown |
| Caraîbes | 221 | SOUVENIRS FROM EARTH | EPG ID unknown |
| Caraîbes | 230 | BSMART 4CHANGE | EPG ID unknown |
| Caraîbes | 239 | AFRICA 24 | EPG ID unknown |
| Caraîbes | 242 | MEDI 1 TV | EPG ID unknown |
| Caraîbes | 396 | TAHITI NUI TELEVISION | EPG ID unknown |
| Caraîbes | 418 | ARTE GERMANY | EPG ID unknown |
| Caraîbes | 444 | RTP 3 | EPG ID unknown |
| Caraîbes | 445 | RECORD NEWS | EPG ID unknown |
Add liveboxtvuhd with HACS.
- Using the tool of choice open the directory (folder) for your HA configuration (where you find
configuration.yaml). - If you do not have a
custom_componentsdirectory (folder) there, you need to create it. - In the
custom_componentsdirectory (folder) create a new folder calledliveboxtvuhd. - Download all the files from the
custom_components/liveboxtvuhd/directory (folder) in this repository. - Place the files you downloaded in the new directory (folder) you created.
- Restart Home Assistant
Add your device via the Integration menu.
- Go to Settings > Devices & Services > Add Integration
- Search for Orange Livebox TV UHD
- Enter the host, port, name and country of your Livebox TV
- Both entities (media player and remote) are automatically created under a single device
YAML configuration is still supported for backward compatibility but will trigger an automatic import into the UI config entries. A deprecation warning will be logged.
Integration-level config (recommended YAML format):
liveboxtvuhd:
host: 192.168.1.2
port: 8080
name: Livebox Salon
country: francePlatform-level config (legacy, also triggers auto-import):
media_player:
- platform: liveboxtvuhd
name: Livebox Salon
host: 192.168.1.2
port: 8080
country: franceNote: In v1.x, you had to configure both
media_player:andremote:platforms separately. This is no longer needed. A single configuration (UI or YAML) now creates both entities automatically. If you still have aremote:platform entry in your YAML, it will be ignored with a deprecation warning. You can safely remove it.
| Name | Required | Description | Default |
|---|---|---|---|
host |
yes | Host or IP address | |
port |
no | Port number | 8080 |
name |
no | Friendly name | Orange Livebox TV UHD |
country |
no | Choose between france, caraibe and poland |
france |
Available commands for the remote entity:
| Command | Description |
|---|---|
POWER |
Power toggle |
0 |
0 |
1 |
1 |
2 |
2 |
3 |
3 |
4 |
4 |
5 |
5 |
6 |
6 |
7 |
7 |
8 |
8 |
9 |
9 |
CH+ |
Channel Up |
CH- |
Channel Down |
VOL+ |
Volume Up |
VOL- |
Volume Down |
MUTE |
Mute |
UP |
Cursor Up |
DOWN |
Cursor Down |
LEFT |
Cursor Left |
RIGHT |
Cursor Right |
OK |
OK |
BACK |
Back |
MENU |
Menu |
PLAY/PAUSE |
Play/Pause |
FBWD |
Rewind |
FFWD |
Fast Forward |
REC |
Record |
VOD |
VOD |
GUIDE |
GUIDE |
With standard media-player
With mini-media-player:
type: 'custom:mini-media-player'
entity: media_player.livebox_salon
artwork: full-cover
volume_stateless: trueWith universal-remote-card (thanks to WarC0zes)
type: custom:universal-remote-card
rows:
- power
- circlepad
- - back
- menu
- - - volume_up
- volume_down
- - volume_mute
- - channel_up
- channel_down
- numpad
- - rewind
- play_pause
- fast_forward
- guide
- - netflix
- prime
remote_id: remote.livebox_salon
media_player_id: media_player.livebox_salon
platform: Android TV
custom_actions:
- type: button
name: netflix
tap_action:
action: perform-action
perform_action: remote.send_command
target:
entity_id: remote.livebox_salon
data:
hold_secs: 0
command:
- 6
- 6
icon: phu:netflix
haptics: true
styles: ""
- type: button
name: prime
icon: phu:prime-video
tap_action:
action: perform-action
perform_action: remote.send_command
target:
entity_id: remote.livebox_salon
data:
hold_secs: 0
command:
- 6
- 7
haptics: true
- type: circlepad
name: circlepad
tap_action:
action: key
key: OK
up:
icon: mdi:chevron-up
tap_action:
action: key
key: UP
hold_action:
action: repeat
type: button
down:
icon: mdi:chevron-down
tap_action:
action: key
key: DOWN
hold_action:
action: repeat
type: button
left:
icon: mdi:chevron-left
tap_action:
action: key
key: LEFT
hold_action:
action: repeat
type: button
right:
icon: mdi:chevron-right
tap_action:
action: key
key: RIGHT
hold_action:
action: repeat
type: button
icon: ok
styles: |-
:host {
width: 230px;
}
.circlepad {
border: 1px solid #444;
background: radial-gradient(circle at top left, #202020 15%, #303030 100%);
--icon-color: rgba(128,128,128,0.5);
}
#center::part(button) {
background: radial-gradient(circle at top left, #303030 15%, #101010 100%);
border: 1px solid rgba(0, 0, 0, 0.5);
}
#center::part(icon) {
color: rgba(128,128,128, 0.8);
--size: 46px;
}
#left,
#right {
width: 100%;
}
- type: button
name: back
tap_action:
action: key
key: BACK
icon: mdi:arrow-u-left-top
- type: button
name: channel_up
tap_action:
action: key
key: CHANNEL_UP
icon: mdi:chevron-up
- type: button
name: channel_down
tap_action:
action: key
key: CHANNEL_DOWN
icon: mdi:chevron-down
- type: button
name: volume_up
tap_action:
action: key
key: VOLUME_UP
hold_action:
action: repeat
icon: mdi:plus
- type: button
name: volume_down
tap_action:
action: key
key: VOLUME_DOWN
hold_action:
action: repeat
icon: mdi:minus
- type: button
name: volume_mute
tap_action:
action: key
key: MUTE
icon: mdi:volume-mute
styles: |-
#power::part(icon) {
color: rgb(229, 9, 20);
}
#menu::part(icon) {
color: rgb(229, 9, 20);
}
#netflix::part(icon) {
color: rgb(229, 9, 20);
}
#prime::part(icon) {
color: rgb(0, 165, 222);
}
custom_icons:
- name: ok
path: >-
M7 7A2 2 0 005 9V15A2 2 0 007 17H9A2 2 0 0011 15V9A2 2 0 009 7H7M7
9H9V15H7V9ZM13 7V17H15V13.7L17 17H19L16 12 19 7H17L15 10.3V7H13Z
haptics: true
card_mod:
style: |
ha-card {
margin-left: 67px;
width: 250px;
}
keyboard_id: remote.livebox_salon
grid_options:
columns: 6
rows: 1To trigger additional commands with the remote entity:
service: remote.send_command
data:
num_repeats: 1
delay_secs: 0.4
hold_secs: 0
command: UP
target:
entity_id: remote.livebox_salon





