Freeplayer / Freebox_player

In HACS, there is a new component Freebox_player.
With this component, you can use Home Assistant as a remote control.
Works well with my freebox revolution

 freebox_player:
   host: IP_of_your_freeplayer
   remote_code: Code_of_remote_control
1 Like

For instance, to call power button :slight_smile: in the user interface lovelace

 type: button
 name: Allumer Freebox #name of your button
 tap_action:
   action: call-service
   service: freebox_player.remote #using the freebox_player service
   service_data:
     code: power #code to send/code que le service va envoyer

You can implement the freebox remote control with “picture Element Panel”.
Find a remote control picture → https://free.fr/assistance/91.html

And then a code like this


type: picture-elements
elements:
   - type: icon
     icon: 'mdi:power'
     title: power
     tap_action:
       action: call-service
       service: freebox_player.remote
       service_data:
         code: power
     style:
       top: 15%
       left: 58%
image: /local/telecommande.png

NB : telecommande.png is snapshot of remote control, you have put in

homessistante_configuration_folder/www

Here all the freebox remote control in picture element.
The picture comes from https://free.fr/assistance/91.html

type: picture-elements
elements:
  - type: icon
    icon: 'mdi:power'
    title: power
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: power
    style:
      top: 15%
      left: 58%
  - type: icon
    icon: 'mdi:volume-mute'
    title: volume mute
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: mute
    style:
      top: 64%
      left: 54%
  - type: icon
    icon: 'mdi:home'
    title: FreeHome
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: home
    style:
      top: 59%
      left: 54%
  - type: icon
    icon: 'mdi:numeric-1'
    title: One
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '1'
    style:
      top: 21%
      left: 47%
  - type: icon
    icon: 'mdi:numeric-2'
    title: Two
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '2'
    style:
      top: 21%
      left: 53%
  - type: icon
    icon: 'mdi:numeric-3'
    title: Three
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '3'
    style:
      top: 21%
      left: 59%
  - type: icon
    icon: 'mdi:numeric-4'
    title: Four
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '4'
    style:
      top: 27%
      left: 47%
  - type: icon
    icon: 'mdi:numeric-5'
    title: Five
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '5'
    style:
      top: 27%
      left: 53%
  - type: icon
    icon: 'mdi:numeric-6'
    title: Six
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '6'
    style:
      top: 27%
      left: 59%
  - type: icon
    icon: 'mdi:numeric-7'
    title: Seven
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '7'
    style:
      top: 32%
      left: 47%
  - type: icon
    icon: 'mdi:numeric-8'
    title: Eight
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '8'
    style:
      top: 32%
      left: 53%
  - type: icon
    icon: 'mdi:numeric-9'
    title: Nine
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '9'
    style:
      top: 32%
      left: 59%
  - type: icon
    icon: 'mdi:numeric-0'
    title: Zero
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '0'
    style:
      top: 37%
      left: 53%
  - type: icon
    icon: 'mdi:volume-minus'
    title: Vol-
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: vol_dec
    style:
      top: 70%
      left: 47%
  - type: icon
    icon: 'mdi:volume-plus'
    title: Vol+
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: vol_inc
    style:
      top: 64%
      left: 47%
  - type: icon
    icon: 'mdi:backspace-outline'
    title: Red
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: red
    style:
      top: 43%
      left: 47%
  - type: icon
    icon: 'mdi:card-search-outline'
    title: Blue
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: blue
    style:
      top: 43%
      left: 59%
  - type: icon
    icon: 'mdi:menu-open'
    title: Green
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: green
    style:
      top: 53%
      left: 47%
  - type: icon
    icon: 'mdi:information-variant'
    title: Yellow
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: yellow
    style:
      top: 53%
      left: 59%
  - type: icon
    icon: 'mdi:pan-up'
    title: Prg +
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: prgm_inc
    style:
      top: 65%
      left: 59%
  - type: icon
    icon: 'mdi:pan-down'
    title: Prg -
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: prgm_dec
    style:
      top: 69%
      left: 59%
  - type: icon
    icon: 'mdi:checkbox-marked-circle-outline'
    title: OK
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: ok
    style:
      top: 48%
      left: 53%
  - type: icon
    icon: 'mdi:arrow-up-bold-outline'
    title: Up
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: up
    style:
      top: 43%
      left: 53%
  - type: icon
    icon: 'mdi:arrow-down-bold-outline'
    title: Down
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: down
    style:
      top: 54%
      left: 53%
  - type: icon
    icon: 'mdi:arrow-right-bold-outline'
    title: Right
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: right
    style:
      top: 48%
      left: 59%
  - type: icon
    icon: 'mdi:arrow-left-bold-outline'
    title: Left
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: left
    style:
      top: 48%
      left: 47%
  - type: icon
    icon: 'mdi:record-rec'
    title: record
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: rec
    style:
      top: 70%
      left: 53%
  - type: icon
    icon: 'mdi:play-pause'
    title: play/pause
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: play
    style:
      top: 75%
      left: 53%
  - type: icon
    icon: 'mdi:skip-backward-outline'
    title: backward
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: bwd
    style:
      top: 75%
      left: 47%
  - type: icon
    icon: 'mdi:skip-forward-outline'
    title: forward
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: fwd
    style:
      top: 75%
      left: 59%
  - type: icon
    icon: 'mdi:skip-next-outline'
    title: next
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: next
    style:
      top: 80%
      left: 59%
  - type: icon
    icon: 'mdi:skip-previous-outline'
    title: previous
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: prev
    style:
      top: 80%
      left: 47%
image: /local/telecommande.png
2 Likes

Thanks!
you save me some time, I was writing exactly all this code :slight_smile: i’ll just re-use yours :wink:

Have a nice day

Thanks for your feed back !
Great !!

Hello Jugla, thank you very much for your script ! it seems to be very helpfull !
My problem is actuallly that I don’t know in which directory to put the remote control picture : indeed I don’t find any “homessistante_configuration_folder/www” folder in my Pi.
Thank you for your help/answer :slight_smile:

Hello,
Nice to hear, that it helps :slight_smile:
On my PI , I have defined a user homeassistant.
The directory where is the configuration.yaml file is indise te directory /home/homeassistant/.homeassistant . In the same directory you’ve got the www directory.

Your welcome !
Philippe

as I just start working with HA, this www didn’t exist for me; afte creating www directory and putting this png, it works perfectly well; thank you again Philippe ! :slight_smile:

Thank you Jugla
very good job
i juste adjusted icons on ptelecomande picture but in fact very fun
thanks a lot

Wondering if there was any card that show what’s playing on the player ?

Hello,
I’ve change from my freebox revolution to freebox pop.
The freebox pop (android) is seen as a player :wink:

That’s awesome ! The image doesn’t correspond though… Has it changed ? Can you send yours please ?
Also the type “picture-elements” doesn’t work for me I had to put “picture” for it to work

Hello,
strange …
picture-elements shall work
If you use picture it’s another type of card.

To avoid typo error, you can start to create a picture element via UI, the cut and paste the code.

The https://free.fr/assistance/91.html .
Sorry I 've changed to the Freebox Pop, I have no more the picture.

Using UI does not work the save button refuses to appear, there is something wrong with the code, probably some syntax rule has changed since.
Using the text editor works but the buttons appear out of place, confirming something is wrong. I suspect that is not the picture since vertical spacing seems correct but not horizontal spacing

I see, the remote control is not the right one.

And so it gives (with the picture element)

The code is still correct, nevertheless if the picture is not the right one then all % that gives the relative position are totaly wrong.

The code is only for freebox revolution.

Ok thanks @jugla !
I’ve adapted the icons positionning for the Delta remote and added a bar over the two buttons that do not have equivalent code yet with the freebox_play component. I’ve also hidden the icons so that they do not show up once correctly configured (edit: “color: transparent” works better than “display: none” ^^).
Here is the resulting code if anyone is interested.
If someone notices some misaligned button, don’t hesitate to tell me I’ll update the code.

type: picture-elements
elements:
  - type: icon
    icon: 'mdi:slash-forward'
    style:
      top: 9%
      left: 24%
      transform: 'scale(3,3)'
      color: white
  - type: icon
    icon: 'mdi:power'
    title: power
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: power
    style:
      top: 9%
      left: 75%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:volume-mute'
    title: volume mute
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: mute
    style:
      top: 65%
      left: 50%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:home'
    title: FreeHome
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: home
    style:
      top: 59%
      left: 49%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:numeric-1'
    title: One
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '1'
    style:
      top: 17%
      left: 24%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:numeric-2'
    title: Two
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '2'
    style:
      top: 17%
      transform: 'scale(3,3)'
      color: transparent
      left: 49%
  - type: icon
    icon: 'mdi:numeric-3'
    title: Three
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '3'
    style:
      top: 17%
      left: 74%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:numeric-4'
    title: Four
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '4'
    style:
      top: 23%
      left: 25%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:numeric-5'
    title: Five
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '5'
    style:
      top: 23%
      left: 49%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:numeric-6'
    title: Six
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '6'
    style:
      top: 23%
      left: 74%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:numeric-7'
    title: Seven
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '7'
    style:
      top: 28%
      left: 25%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:numeric-8'
    title: Eight
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '8'
    style:
      top: 28%
      left: 49%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:numeric-9'
    title: Nine
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '9'
    style:
      top: 28%
      left: 74%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:numeric-0'
    title: Zero
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: '0'
    style:
      top: 34%
      left: 49%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:volume-minus'
    title: Vol-
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: vol_dec
    style:
      top: 71%
      left: 25%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:volume-plus'
    title: Vol+
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: vol_inc
    style:
      top: 63%
      left: 25%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:backspace-outline'
    title: Red
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: back
    style:
      top: 37%
      left: 24%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:card-search-outline'
    title: Blue
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: blue
    style:
      top: 37%
      left: 74%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:menu-open'
    title: Green
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: green
    style:
      top: 56%
      left: 25%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:information-variant'
    title: Yellow
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: yellow
    style:
      top: 56%
      left: 73%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:pan-up'
    title: Prg +
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: prgm_inc
    style:
      top: 64%
      left: 73%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:pan-down'
    title: Prg -
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: prgm_dec
    style:
      top: 70%
      left: 74%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:checkbox-marked-circle-outline'
    title: OK
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: ok
    style:
      top: 46%
      left: 49%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:arrow-up-bold-outline'
    title: Up
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: up
    style:
      top: 41%
      left: 49%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:arrow-down-bold-outline'
    title: Down
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: down
    style:
      top: 52%
      left: 49%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:arrow-right-bold-outline'
    title: Right
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: right
    style:
      top: 47%
      left: 70%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:arrow-left-bold-outline'
    title: Left
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: left
    style:
      top: 47%
      left: 28%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:record-rec'
    title: record
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: rec
    style:
      top: 70%
      left: 49%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:play-pause'
    title: play/pause
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: play
    style:
      top: 77%
      left: 49%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:skip-backward-outline'
    title: backward
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: bwd
    style:
      top: 77%
      left: 24%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:skip-forward-outline'
    title: forward
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: fwd
    style:
      top: 77%
      left: 74%
      transform: 'scale(3,3)'
      color: transparent
  - type: icon
    icon: 'mdi:skip-next-outline'
    title: next
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: next
    style:
      top: 82%
      left: 72%
      transform: 'scale(2,2)'
      color: white
  - type: icon
    icon: 'mdi:skip-previous-outline'
    title: previous
    tap_action:
      action: call-service
      service: freebox_player.remote
      service_data:
        code: prev
    style:
      top: 82%
      left: 25%
      transform: 'scale(2,2)'
      color: white
  - type: icon
    icon: 'mdi:slash-forward'
    style:
      top: 82%
      left: 49%
      transform: 'scale(3,3)'
      color: white
image: /local/telecommande.png



Also here is the picture of the remote in case jugla’s link changes.