Utilisation Google Assistant avec HomeAssistant accédé en https avec tailscale

Mon problème

Google Assistant ne communique pas avec Homeassistant
erreur: could’nt reach homeaasistant-action

System Information

version | core-2024.4.4
-- | --
installation_type | Home Assistant OS
dev | false
hassio | true
docker | true
user | root
virtualenv | false
python_version | 3.12.2
os_name | Linux
os_version | 6.6.25-haos
arch | x86_64
timezone | Europe/Paris
config_dir | /config

<details><summary>Home Assistant Cloud</summary>

logged_in | false
-- | --
can_reach_cert_server | ok
can_reach_cloud_auth | ok
can_reach_cloud | ok

</details>

<details><summary>Home Assistant Supervisor</summary>

host_os | Home Assistant OS 12.2
-- | --
update_channel | stable
supervisor_version | supervisor-2024.04.0
agent_version | 1.6.0
docker_version | 25.0.5
disk_total | 30.8 GB
disk_used | 3.6 GB
healthy | true
supported | true
board | ova
supervisor_api | ok
version_api | ok
installed_addons | Duck DNS (1.16.0), File editor (5.8.0), NGINX Home Assistant SSL proxy (3.9.0), Tailscale (0.18.0)

</details>

<details><summary>Dashboards</summary>

dashboards | 3
-- | --
resources | 0
views | 0
mode | storage

</details>

<details><summary>Recorder</summary>

oldest_recorder_run | 18 avril 2024 à 18:29
-- | --
current_recorder_run | 25 avril 2024 à 08:38
estimated_db_size | 14.39 MiB
database_engine | sqlite
database_version | 3.44.2

</details>

Bonjour,
pardonnez moi si mon message n’est pas parfait, c’est ma première intervention après avoir beaucoup cherché une réponse dans les forums.

Après une utilisation Home Assistant OS dans une VM (VmWare) sur un PC Windows 10
avec accès externe https par duckdns et nginx totalement fonctionnelle (y compris Home Asistant Companion et Google Assistant), j’ai cherché à réaliser une configuration sans ouverture de port.

j’ai installé tailscale en https (proxy tailscale), tout fonctionne parfaitement sauf Google Assistant qui lors de l’ajout de [test] homeassistant-action arrive sur la page de login de homeassistant, se connecte puis après quelques secondes affiche could’nt reach homeassistant-action retry later

Y a t-il une incompatibilité suite à l’accès par le proxy tailscale?
Quelqu’un a-t-il fait fonctionner une configuration de ce genre?
Merci pour tout retour.

Bonjour,
comme tu passe par tailscale, il y a pas a modifier l’accès de HA pour google assistant dans Fulfillment URL ( console action google dans actions )?

Bonjour et merci pour la réponse,

oui j’ai fait une nouvelle configuration de google assistant (nouveau projet et nouvelle action)
avec
https://oauth-redirect.googleusercontent.com/r/myclientID
https://myhome.mysubdomain.ts.net:443/auth/authorize
https://myhome.mysubdomain.ts.net:443/auth/authorize

et j’arrive bien à me connecter à mon homeassistant quand j’ajoute [test] myaction dans Google Home mais juste après, j’ai le message d’erreur.
Par contre quand j’utilise mon action précédente faite pour duckdns/nginx, tout va bien.

C’est pour celà que je me demandais si le proxy nginx ferait quelque chose que ne fait pas le proxy tailscale ?

Il doit manquer des directives dans tailscale comme l’accès au websocket (ou autre)

Bonjour et merci pour la réponse.
Je vais essayer d’avoir des infos côté tailscale.
Si je trouve une solution, je la mettrai sur le forum.

J’ai la solution!

En ajoutant l’option funnel dans l’addon tailscale, j’ai accès depuis n’importe où (pas seulement depuis une machine du réseau tailnet) en utilisant
https://myhome.mysubdomain.ts.net

Et Google Assistant se connecte et je vois mes devices!

Reste maintenant à savoir quelle est l’accès le plus sécurisé?
duckdns/nginx avec ouverture d’un port sur le routeur (https://mysubdomain.duckdns.org:xxxx)
ou
tailet funnel

Dans les 2 cas tout utilisateur connaissant l’url arrive sur la page de connexion de HomeAssistant

Un spécialiste sécurité peut-il donner son avis ?

pour ma part je préfère tout maitriser de bout en bout et surtout pas passer par des tiers quels qu’ils soient j"ouvre un unique port je passe par mon reverse proxy je génère des certificats let’s encrypt via mon reverse proxy à base de caddyserveur, et la si je tombe sur un hackeur acharné qui casse toutes mes sécurités et bien bravo a lui tant d’acharnement pour pas grand chose, mes données n’intéressent aucun hackeur qui n’en fera aucun beurre il préférera s’attaquer a un service bien plus rémunérateur
et si vraiment je veux durcir ma solution je peux ajouter du fail2ban du crowdsec du filtrage par geoip, mais franchement après surveillance de ma connexion effectivement personne ne s’interesse à moi

Bonjour,

je tente de faire comme toi.
Je n’arrive pas a activer le funnel et le proxy dans l’add on. Il me dit qu’il n’a pas pu se connecter au reverse proxy. j’ai bien rajouter les commandes dans le configuration.yaml de mon haos.

Je pense que je suis passé à coté de quelquechose pourrais tu montrer ce que tu as comme code yaml dans la config de ton add on ?

Nicolas

Bonjour,

c’est déjà vieux pour moi, après avoir fait mes essais avec tailscale avec l’option funnel, j’ai enlevé cette option que je considérais comme dangereuse.

En effet, avec cette option, n’importe quel utilisateur peut arriver sur homeassistant alors que sans l’option, seul un noeud tailscale a accès.

je continue à utiliser nginx avec ouverture d’un port dans le routeur afin d’utiliser google home.

Par contre, j’ai toujours accès depuis un noeud tailscale à homeasistant, sans utiliser l’addon. par une URL xxx.ts.net:8123 comme si j’étais dans mon réseau local.

L’addon n’est q’une facilité offerte pour la configuration

Il me semble qu’il y a eu des changements dans tailscale et que l’option funnel doit être validée dans le tailscale CLI (voir doc tailscale)

enfin voici le yaml de l’addon: (sans option funnel)

proxy: true
advertise_exit_node: false
advertise_routes: []

En espérant que cela t’aidera,

jean-françois

Je crois que j’ai besoin d’un coup de main.
Je n’ai pas assez de connaissance pour me dépêtrer avec la doc de tailscale.

J’ai internet par starlink , du coup mon adresse internet est dynamique . Je ne peux pas configurer la commande vocale par Google assistant a cause de ce point , sauf a passer par tailscale. Etant sur HAOS ,

J’ai vu qu’en activant la fonction funnel et le proxy on pouvait avoir un accès a home assistant a partir d’une adresse http fixe de tail scale.

Tailscale fonctionne chez moi je l’utilise deja pour avoir un accès externe a home assistant .

J’ai essayé d’activer la fonction de funnel par le cli, mais ça ne fonctionne pas ( j’active le funnel sur l’ordinateur tiers ou j’ai installé le module tailscale, mais rien n’est indiqué pour mon ordi sous HAOS. )

Il ya bien dans la partie configuration de l’add-on tailscale sous HAOS la possibilité d’activer le funnel et le proxy . J’ai modifié mon yaml pour permettre a home assistant d’accepter le proxy.
Mais le log de mon tailscale dit qu’il n’est pas capable d’accéder au proxy, ce qui se traduit par une déconnexion de mes téléphones extérieurs.

Je pense que je n’ai pas bien compris la marche à suivre…

as tu ajouté

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 127.0.0.1

dans configuration.yaml ?

Oui. Mais j’ai une erreur de connections au proxy dans les log…

voila l’extrait de mon configuration.yaml :
Capture d'écran 2024-08-28 104832

celui de mon yaml tailscale :

et le log d’erreur de tailscale :

as tu fait ceci côté console admin tailscale: HTTPS et tailnet policy file?

We’ll need to change some things in the Tailscale admin console. First, you’ll have to enable HTTPS support, which you can do by following their guide Enabling HTTPS :arrow_upper_right:. Next, we will enable Tailscale Funnel. For this, follow their guide Tailscale Funnel :arrow_upper_right: on how to edit the tailnet policy file. For me, it was as simple as pressing a button on the right side of the code editor there, but editing the file by hand is not much harder.

oui , du moins il me semble :


Capture d'écran 2024-08-28 121622

quand le message d’erreur arrive-t-il? quand tu essaies de te connecter depuis ton téléphone? Si oui peux-tu donner l’URL utilisé (en masquant les parties personnelles à ta configuration)

Quand je modifie le yaml de l’add-on de tailscale et que je le relance .

A ce moment là mon téléphone ne peut plus accéder a home assistant depuis l’extérieur .

Si je laisse le yaml vide, je peux accéder en classique . Mais ni le funnel ni le proxy ne sont activés
.

Quelle est la marche a suivre ?

Quelque-chose m’échappe

pour séparer les pbs, je verrai bien un essai avec funnel: false et proxy: true
si l’addon démarre, alors essaie d’accéder depuis un noeud tailscale à https://xxx.ys.net
cela voudra dire que le proxy marche, ce sera déjà un 1er point positif!

J’ai simplement ajouter proxy: true au yaml tailscale et j’ai perdu mon accès. C’est donc le proxy le problème …

le log d’erreur de l’addon est toujours le même?