/ tech

Integration Freebox dans Home Assistant

Pour faire ça, j'ai décidé d'ajouter tout d'abord un input_select, qui permettra de choisir la chaine.
Ainsi qu'un input_boolean pour allumer ou éteindre la freebox.

Pour que ce soit au top il faut évidemment que les devices soient compatibles HDMI-CEC, ce qui permet d'allumer la télé/l'ampli si on allume la freebox.

Input_Select le choix multiple

Input_select permet de créer des sortes de combo box, avec une liste de valeurs prédéfinies.

 input_select:
  chainefree:
    name: "Freebox Chaines"
    icon: mdi:television
    initial: "iTele"
    options:
      - "TF1"
      - "France2"
      - "France3"
      - "CanalPlus"
      - "France5"
      - "M6"
      - "Arte"
      - "D8"
      - "W9"
      - "TMC"
      - "NT1"
      - "NRJ12"
      - "LCP"
      - "France4"
      - "BFMTv"
      - "iTele"
      - "D17"
      - "Gulli"
      - "FranceÔ"
      - "HD1"
      - "LEquipe21"
      - "6Ter"
      - "Numero23"
      - "RMC Decouverte"
      - "Cherie25"
      - "RTL9"

Avec ça on devrait obtenir la liste des chaines que l'on désire.

Bon c'est bien tout ça mais il ne se produira rien si on sélectionne une chaîne, pour cela il va falloir scripter et ce pour chacune d'elles.

shell_command: tf1: /usr/bin/curl --request GET 'http://hd1.freebox.fr/pub/remote_control?code=CODE&key=1' france2: /usr/bin/curl --request GET 'http://hd1.freebox.fr/pub/remote_control?code=CODE&key=2' france3: /usr/bin/curl --request GET 'http://hd1.freebox.fr/pub/remote_control?code=CODE&key=3' canalplus: /usr/bin/curl --request GET 'http://hd1.freebox.fr/pub/remote_control?code=CODE&key=4' france5: /usr/bin/curl --request GET 'http://hd1.freebox.fr/pub/remote_control?code=CODE&key=5' m6: /usr/bin/curl --request GET 'http://hd1.freebox.fr/pub/remote_control?code=CODE&key=6'

Donc ici pour chaque valeur shell_command une commande curl correspondra.

Passons à l'automation maintenant :

   - alias: "chaineTF1"
    trigger:
     - platform: state
       entity_id: input_select.chainefree
       state: 'TF1'
    action:
        service: shell_command.tf1

Cas de l'allumage de Freebox

Pour faire ça pour ma part le plus simple etait l'input_boolean.

 input_boolean:
  - allumefree:
     name: Allume la Freebox
     initial: off
     icon: mdi:television

Au niveau automation :

 - alias: 'AllumeFreebox'
  trigger:
    - platform: state
      entity_id: input_boolean.allumefree
      state: 'on'
  action:
    service: shell_command.allumefreebox
- alias: 'EteintFreebox'
  trigger:
    - platform: state
      entity_id: input_boolean.allumefree
      state: 'off'
  action:
    service: shell_command.eteintfreebox

et enfin on rajoute les shell_command pour l'allumage et l'extinction de la Freebox

eteintfreebox: /usr/bin/curl --request GET 'http://hd1.freebox.fr/pub/remote_control?code=CODE&key=power'
allumefreebox: /usr/bin/curl --request GET 'http://hd1.freebox.fr/pub/remote_control?code=CODE&key=power'; sleep 5; /usr/bin/curl --request GET 'http://hd1.freebox.fr/pub/remote_control?code=CODE&key=ok'; sleep 2; /usr/bin/curl --request GET 'http://hd1.freebox.fr/pub/remote_control?code=CODE&key=1&key=6'

En gros quand on met le toggle sur 'On' pour allumage Freebox, la Freebox s'allume et se met sur une chaîne définie.
Si on positionne le toggle sur 'Off', la freebox s’éteint et coupe aussi les équipements reliés en HDMI.

Ne reste plus qu'à mettre en place un réveil ...

Integration Freebox dans Home Assistant
Share this