Je cherche à piloter le Freebox Player pour l’intégrer dans une télécommande.
Exemple de ce que je voudrais faire :
Ajouter un bouton « Netflix » qui lancerait l’application Netflix directement :
J’ai trouvé cet utilisation Assistant Freebox Cloud qui utilise l’API Freebox pour, par exemple :
Mais pour l’instant j’ai des problèmes pour me connecter et j’ai dû mal pour le calcul du password . J’ai suivi ce message api-freebox-debutant .
Avez vous des idées, des tutos pour commencer ce projet ?
Est-ce qu’un développeur est intéressé par ce projet ?
Qu’est-ce qui serait le plus simple pour débuter le développement ?
Tout simplement non?
Ou j’ai pas compris la demande.
@tikismoke , merci pour ce lien mais j’ai déjà installé le Freebox_Player via HACS et je peux piloter mon player via une télécommande .
Ce que je recherche, c’est la possibilité d’intégrer à cette télécommande une touche Netflix qui lancera directement l’application Netflix. Et apparemment l’intégration Freebox_Player ne sait pas encore le faire (vu qu’elle utilise l’API Télécommande de Free et pas l’API Player ).
Quel player ? Pop, Révolution ? mini 4k ?
Je suis parvenue a faire ce que tu demande avec le pop, sinon pour la révolution c’est beaucoup plus simple il suffis de récupéré le code d’association télécommande
exemple de bouton netflix pour player pop :
- entity: media_player.android_tv_pop
tap_action:
action: call-service
service: media_player.select_source
service_data:
source: Netflix
target:
entity_id: media_player.android_tv_pop
type: entity-button
name: Netflix
icon: 'mdi:netflix'
C’est une Freebox révolution. Tu utilises quoi comme composant ?
Bonjour,
Comment fais tu pour aller sur Netflix depuis la télécommande du Freebox Player ?
(je n’ai pas de Freebox, d’où ma question )
A partir de là, je ferais un bouton qui lance un script dans lequel se trouverait la sequence de touche faite sur la télécommande.
@Sylvain_G : tu entend quoi par composant ? (désolé je suis nouveau sous HA, je nage encore dans bien des choses …)
@pepite : j’appuis sur le bouton dédié
@Dackara , est-ce que tu as installé quelque chose avec HACS ?
Dans le code que tu as donné il y a un media_player
, ça vient d’un composant ?
dans configuration.yaml
media_player:
- platform: androidtv
name: Android_TV_POP
host: 192.168.0.XX
il me semble que la plateform androidtv est native de HA [mais du coup ne doit pas fonctionner pour la révolution qui n’en ai pas une]
Bonjour @Dackara
Je viens de recevoir le player pop, je fais mon retour chez free mais avec pop plus de telecommande.
Comment tu pilotes donc le player pop ?
Avec l’integration android TV ?
As tu fait une télécommande ?
Désolé, je me retrouve en mode NOOB avec de player POP
On est bien d’accord que quand tu dit « plus de télécommande » tu parle bien de télécommande virtuel hein ?! non parce que il y en a une de fournis avec quand même
Sinon oui, intégration Android tv + ADB - Android Debug Bridge installer sur HA.
Il faut également activé le mode « dev » du player (en allant dans les réglage et en cliquant un certain nombre de fois sur l’onglet de version logiciel je crois)
Mais, bon courage… moi j’ai pas encore fini de tout configurer (d’autres choses ont la priorité )
Gaitt
Octobre 26, 2021, 8:26
12
Salut à tous,
J’ai eu une récente mise a jour de mon player POP avec une nouvelle version d’andoidtv. Cette mise à jour semble « caser » la connexion avec l’appli « Android TV » que j’utilisais sur mon smartphone pour piloter le player.
Bref, j’ai essayé de passer par le module androidtv de HA mais sans succès.
J’ai bien mis le player en mode « dev » en cliquant 8 fois sur la version du build.
Sur HA, j’ai :
media_player:
- platform: androidtv
device_class: androidtv
name: Player POP
host: 192.168.1.xxx
Mais dans les logs, j’ai :
2021-10-26 22:07:04 WARNING (MainThread) [androidtv.adb_manager.adb_manager_async] Couldn't connect to 192.168.1.xxx:5555. ConnectionRefusedError: Connect call failed ('192.168.1.xxx', 5555)
2021-10-26 22:07:04 WARNING (MainThread) [homeassistant.components.androidtv.media_player] Could not connect to Player POP at 192.168.1.xxx:5555 using Python ADB implementation with adbkey='/config/.storage/androidtv_adbkey'
J’ai déjà un media_player.freebox_player_pop venant de l’intégration Google Cast. Est-ce que ça peut poser problème?
Aussi dans la doc du composant androidtv, il parle d’un popup sur la télé afin de toujours autoriser la connection, je n’ai rien eu de tel.
Si jamais vous avez des idées ou des trucs à essayer pour me débloquer je suis preneur!!
1 « J'aime »
salut @Sylvain_G ,
as tu reussi a creer ta « telecommande » pour ta freebox ?
je suis justement en train de chercher a faire la meme chose …
je vois bien qu’avec l"api on peux tout faire mais comment l’integrer a home assisant ?
merci pour ton aide .
Pour l’instant, j’ai ça :
Certaines touches ne sont pas fonctionnelles comme les touches « Free », « Netflix » et « Jellyfin ».
Pour le code des cartes (j’en ai 2 dans les 2 orientations qui s’affichent en fonction de l’orientation du device) :
Pour l'orientation paysage
type: 'custom:mod-card'
card:
type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: 'custom:button-card'
template: default
icon: 'mdi:volume-plus'
tap_action:
repeat: 500
action: call-service
service: freebox_player.remote
service_data:
code: vol_inc
- type: 'custom:button-card'
template: default
icon: 'mdi:volume-mute'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: mute
- type: 'custom:button-card'
template: default
icon: 'mdi:pan-up'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: prgm_inc
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-1'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '1'
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-2'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '2'
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-3'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '3'
- type: 'custom:button-card'
template: default
show_entity_picture: true
entity_picture: /local/lovelace/330px-Netflix_2015_N_logo.svg.png
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: 'netflix'
- type: 'custom:button-card'
template: default
show_entity_picture: true
entity_picture: /local/lovelace/free.png
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: home
- type: 'custom:button-card'
template: default
icon: 'mdi:power'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: power
- type: horizontal-stack
cards:
- type: 'custom:button-card'
template: default
icon: 'mdi:volume-minus'
tap_action:
repeat: 500
action: call-service
service: freebox_player.remote
service_data:
code: vol_dec
- type: 'custom:button-card'
template: default
color_type: icon
color: '#A92123'
icon: 'mdi:record-rec'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: rec
- type: 'custom:button-card'
template: default
icon: 'mdi:pan-down'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: prgm_dec
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-4'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '4'
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-5'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '5'
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-6'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '6'
- type: 'custom:button-card'
template: red
icon: 'mdi:backspace-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: red
- type: 'custom:button-card'
template: default
icon: 'mdi:arrow-up-bold-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: up
- type: 'custom:button-card'
template: blue
icon: 'mdi:card-search-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: blue
- type: horizontal-stack
cards:
- type: 'custom:button-card'
template: default
icon: 'mdi:skip-backward-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: bwd
- type: 'custom:button-card'
template: default
icon: 'mdi:play-pause'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: play
- type: 'custom:button-card'
template: default
icon: 'mdi:skip-forward-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: fwd
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-7'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '7'
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-8'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '8'
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-9'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '9'
- type: 'custom:button-card'
template: default
icon: 'mdi:arrow-left-bold-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: left
- type: 'custom:button-card'
template: default
icon: 'mdi:checkbox-marked-circle-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: ok
- type: 'custom:button-card'
template: default
icon: 'mdi:arrow-right-bold-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: right
- type: horizontal-stack
cards:
- type: 'custom:button-card'
template: default
icon: 'mdi:skip-previous-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: prev
- type: 'custom:button-card'
color_type: blank-card
- type: 'custom:button-card'
template: default
icon: 'mdi:skip-next-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: next
- type: 'custom:button-card'
color_type: blank-card
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-0'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '0'
- type: 'custom:button-card'
template: default
show_entity_picture: true
entity_picture: /local/lovelace/jellyfin_logo.png
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: red,right,right,right,right,ok,down,ok
- type: 'custom:button-card'
template: green
icon: 'mdi:menu-open'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: green
- type: 'custom:button-card'
template: default
icon: 'mdi:arrow-down-bold-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: down
- type: 'custom:button-card'
template: yellow
icon: 'mdi:information-variant'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: yellow
style: |
@media (orientation: portrait) {
ha-card {
display: none;
}
}
Pour l'orientation portrait
type: 'custom:mod-card'
card:
type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: 'custom:button-card'
color_type: blank-card
- type: 'custom:button-card'
color_type: blank-card
- type: 'custom:button-card'
template: default
icon: 'mdi:power'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: power
- type: horizontal-stack
cards:
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-1'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '1'
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-2'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '2'
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-3'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '3'
- type: horizontal-stack
cards:
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-4'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '4'
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-5'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '5'
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-6'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '6'
- type: horizontal-stack
cards:
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-7'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '7'
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-8'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '8'
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-9'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '9'
- type: horizontal-stack
cards:
- type: 'custom:button-card'
color_type: blank-card
- type: 'custom:button-card'
template: default
icon: 'mdi:numeric-0'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: '0'
- type: 'custom:button-card'
color_type: blank-card
- type: horizontal-stack
cards:
- type: 'custom:button-card'
template: red
icon: 'mdi:backspace-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: red
- type: 'custom:button-card'
template: default
icon: 'mdi:arrow-up-bold-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: up
- type: 'custom:button-card'
template: blue
icon: 'mdi:card-search-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: blue
- type: horizontal-stack
cards:
- type: 'custom:button-card'
template: default
icon: 'mdi:arrow-left-bold-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: left
- type: 'custom:button-card'
template: default
icon: 'mdi:checkbox-marked-circle-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: ok
- type: 'custom:button-card'
template: default
icon: 'mdi:arrow-right-bold-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: right
- type: horizontal-stack
cards:
- type: 'custom:button-card'
template: green
icon: 'mdi:menu-open'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: green
- type: 'custom:button-card'
template: default
icon: 'mdi:arrow-down-bold-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: down
- type: 'custom:button-card'
template: yellow
icon: 'mdi:information-variant'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: yellow
- type: horizontal-stack
cards:
- type: 'custom:button-card'
template: default
show_entity_picture: true
entity_picture: /local/lovelace/jellyfin_logo.png
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: red,right,right,right,right,ok,down,ok
- type: 'custom:button-card'
template: default
show_entity_picture: true
entity_picture: /local/lovelace/free.png
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: home
- type: 'custom:button-card'
template: default
show_entity_picture: true
entity_picture: /local/lovelace/330px-Netflix_2015_N_logo.svg.png
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: red,right,down,down,down,ok
- type: horizontal-stack
cards:
- type: 'custom:button-card'
template: default
icon: 'mdi:volume-plus'
tap_action:
repeat: 500
action: call-service
service: freebox_player.remote
service_data:
code: vol_inc
- type: 'custom:button-card'
template: default
icon: 'mdi:volume-mute'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: mute
- type: 'custom:button-card'
template: default
icon: 'mdi:pan-up'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: prgm_inc
- type: horizontal-stack
cards:
- type: 'custom:button-card'
template: default
icon: 'mdi:volume-minus'
tap_action:
repeat: 500
action: call-service
service: freebox_player.remote
service_data:
code: vol_dec
- type: 'custom:button-card'
template: default
color_type: icon
color: '#A92123'
icon: 'mdi:record-rec'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: rec
- type: 'custom:button-card'
template: default
icon: 'mdi:pan-down'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: prgm_dec
- type: horizontal-stack
cards:
- type: 'custom:button-card'
template: default
icon: 'mdi:skip-backward-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: bwd
- type: 'custom:button-card'
template: default
icon: 'mdi:play-pause'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: play
- type: 'custom:button-card'
template: default
icon: 'mdi:skip-forward-outline'
tap_action:
action: call-service
service: freebox_player.remote
service_data:
code: fwd
style: |
@media (orientation: landscape) {
ha-card {
display: none;
}
}
Et ces 2 cartes sont appelées dans une view
dont voici le code :
le code de la vue
#
# Définition de la vue avec les accès autorisés
#
path: freebox_rs
icon: 'mdi:calculator'
visible: !include_dir_list ../visibility
badges: []
panel: true
cards:
- type: 'custom:mod-card'
card:
type: vertical-stack
cards:
- !include ../cards/freebox_remote_landscape.yaml
- !include ../cards/freebox_remote_portrait.yaml
Tu peux supprimer la ligne visibility ...
, elle sert à afficher cette page pour certains utilisateurs uniquement.
le code est home
et ça fonctionne très bien.
Par contre pour netflix et Jellyfin, ce n’est pas prévu dans les codes de la freebox révolution
Super merci beaucoup pour ton partage.
Je ne connaissais pas le système de vue j’ai vais regarder ça .
Encore merci. Je vais passer un bon dimanche de « bricolage ».
MERCI
Pour Netflix moi j’ai un Freebox delta … je vais tester. Sur un malentendu.
sauf que sur la delta, c’est pas la même api si je dis pas de bêtise. Donc cette télécommande ne doit pas fonctionner
Bonjour , si je confirme que la télécommande fonctionne bien sur delta .
Manque plus que le lancement d’applications et un retour sur ce qui est en cours de lecture et ce serait top. En tout cas encore merci.
Ça fonctionne sur l’interface classique par contre Juste un problème sur ui- Lovelace ( interface de matt8707)
httttt://community.home-assistant.io/t/a-different-take-on-designing-a-lovelace-ui/162594
Je voulais mètre la télécommande dans un footer bouton .
Mais j’ai l’erreur custom_card _templates default indisponible … j’ai mis le lien vers le .js un peut partout ça veux pas …
Minims
Janvier 29, 2023, 5:56
20
Hello,
Vous connaissez une solution pour integrer le player pop dans HA ?