Lancer une application Android depuis Home Assistant Companion

Mon problème

La plupart des sites qui diffusent des vidéos ou de la musique ne proposent l’accès à chromecast que par l’application android et pas par l’URL. J’aimerais donc trouver le moyen de lancer les applications tels que Prime Vidéo ou France.tv depuis Home Assistant Companion. Mes recherches ont été pour l’instant infructueuse!

Hello,

Je ne suis pas sur d’avoir compris ta demande, mais si tu veux ouvrir une application sur l’appareil android qui heberge companion, il faut utiliser le service notify.

Notification Commands | Home Assistant Companion Docs (home-assistant.io)

Par exemple, pour ouvrir google map directement avec le trajet vers un lieu ( Paris dans cet exemple):

service: notify.mobile_app_XXXX
data:
 message: "command_activity"
 data:
  intent_package_name: "com.google.android.apps.maps"
  intent_action: "android.intent.action.VIEW"
  intent_uri: "google.navigation:q=paris"

@+

1 « J'aime »

Merci pour le lien et l’exemple. Il me manquait juste une petite chose pour que ça fonctionne : « accepter la superposition à l’application Home Assistant »

1 « J'aime »

Une petite question subsidiaire. Je veux lancer cette application sur le mobile qui exécute HA Companion. Je ne trouve pas comment récupérer l’id du mobile « courant » dans les entités de HA.

Pas besoin d’id, c’est le service notify « classique » qui est utilisé.
C’est un des appareils qui apparait dans la liste de l’intégration « application mobile »

J’ai plusieurs appareils android qui peuvent lancer HA Companion. J’aimerais utiliser le même script pour chacun des appareils qui appellerait le service notify.
Quelque chose du style :

{% if states(‹ mobile.device_id ›) == « mi_9 » %}
{{ set service = 'notify.mobile_app_mi_9 }}

Je ne sais pas si je suis clair ?

L’ID n’existe plus depuis 2019 pour les device qui ont companion. C’est uniquement le nom maintenant.
Sur quel etat de l’appareil veux-tu te baser pour ton script ?

Je connais les états que peut prendre une application mobile mais je ne vois pas à quoi ça va me servir dans ce contexte. Je pense que je vais écrire un script qui notifie tous les mobiles. L’application sera lancée uniquement sur les mobiles qui jouent HA Companion.

Je ne comprends pas " jouent HA companion " ? :thinking:
En fait, je n’ ai même pas compris ce que tu souhaitais faire.
Lancer une app Android depuis HA sur un équipement qui a companion , et après ?

Désolé, je n’ai pas été clair.

J’execute HA Companion sur mon smartphone mi_9 et je souhaite lancer l’application Youtube sur ce même smartphone depuis un bouton HA. J’utilise pour cela le script suivant :

alias: "Vidéos: Youtube"
sequence:
  - service: notify.mobile_app_mi_9
    data:
      message: command_launch_app
      data:
        package_name: com.google.android.youtube
      title: Vidéos Youtube
mode: single
con: mdi:television

Je souhaite avoir le même comportement lorsque j’execute HA Companion sur ma tablette sm_x200. Je dois créer un autre script :

alias: "Vidéos: Youtube"
sequence:
  - service: notify.mobile_app_sm_x200
    data:
      message: command_launch_app
      data:
        package_name: com.google.android.youtube
      title: Vidéos Youtube
mode: single
con: mdi:television

Comment faire un seul script qui testerait l’appareil qui lance le script ?

Bonjour,
je ne connaissais pas cette possibilité de « commander » les app sur android au départ de HA et HA companion et cela m’intéresse.
Je voudrais pouvoir automatiser le lancement de mon tunel vpn wireguard.
J’ai compris le lancement de l’application qui fonctionne avec ce code:

service: notify.mobile_app_cph2415
data:
  message: command_launch_app
  data:
    package_name: com.wireguard.android

Mais comment je dois coder l’ordre d’ouverture du tunel « GDX2T10bis »

J’ai essayé quelques trucs, mais sans succès, comme ceci:

service: notify.mobile_app_cph2415
data:
  message: command_activity
  data:
    intent_package_name: com.wireguard.android
    intent_action: com.wireguard.android.action.SET_TUNNEL_UP
      tunnel: "GDX2T10bis"

Si quelqu’un peut m’éclairer :blush:

Hello,

essai avec ça à la fin (sans garantie) :

intent_extras: "tunnel:GDX2T10bis"

@+

Edit: après quelques recherches, ça ne semble pas possible avec wireguard

Effectivement, cela ne fonctionne pas.
Je vais encore chercher un peu… Mais ça ma l’air compromis.
Pas grave, j’ai appris quelques choses qui pourront servir pour d’autres applications.
Merci pour le retour.

Tout dépend de ton besoin mais WG tunnel permet d’activer/désactiver
automatiquement wireguard en fonction du type de connexion/ssid wifi.

Déjà, j’ai trouvé une option à activer dans l’app androïd wireguard qui permet à une application tierce d’ouvrir un tunnel.



Mon idée serait d’ouvrir le Tunnel dès que je quitte zone.home.

Bonjour. Je déterre un peu ce sujet.
J’arrive bien à démarrer l’app de mon choix en appelant le service notify sur l’appareil de mon choix.
Malheureusement cela ne fonctionne que si l’app HA Companion est active à l’écran.
Si je suis sur l’écran d’accueil ou une autre appli ça ne fonctionne pas. :person_shrugging:
J’arrive pourtant bien à recevoir des notifications de l’app Companion sur cet appareil (déclenchées par des automatisations par exemple) même quand Companion est en arrière-plan.

Une idée ?

Exemple de code pour appeler l’app voulue :

service: notify.mobile_app_smartphone_jc
data:
message: command_launch_app
data:
importance: high
ttl: 0
package_name: de.bluegaspode.squeezeplayer

Bonjour, j’ai le même besoin que vous! avez vous trouvé une solution?

Bonjour,
Non, à ce jour, je n’ai pas trouvé de solution.
J’imagine que pour raison de sécurité, l’app Wiregard n’autorise pas l’ouverture d’un tunnel par une autre application.
Mais si quelqu’un trouve, je suis toujours preneur.

Hello

Peux tu préciser ton besoin stp ?
Quand veux tu lancer ton tunnel wireguard ?

Dès que je quitte mon réseau WiFi.
Je sors de la zone maison pourrait être le trigger.