Home Assistant : Domaine local avec certificat?

What type of hardware are you using: Raspberry Pi 3, 4+
What YunoHost version are you running: 11.2.30.2
What app is this about: Home Assistant

Describe your issue

Bonjour,

J’ai crée un domaine local sur lequel j’ai installé Home Assistant.
Tout semble fonctionner à part le fait que allant sur la page, j’ai un avertissement concernant le certificatant manquant ce qui, en soit ne me dérange pas.

En revanche j’ai installé l’application Android Home Assistant qui ne veut pas se connecter à cause d’un certificat manquant.

Est-il possible donc d’installer un certificat sur un domaine en local ou bien il y a une autre façon de contourner ce problème ?
Je ne vois pas pourquoi j’aurais besoin d’un certif en local ceci dit…

Je vous remercie d’avance pour votre aide.

Share relevant logs or error messages

Aucun log.

Solution

Voir post de @Limezy
Ouvrir port 8123 (Interface Yunohost → Outils → Pare-Feu)

Le certificat est probablement demandé pour pouvoir établir une connexion sécurisée (https).
Pour un domaine local (xxx.local par exemple), Yunohost fourni un certificat auto-signé par défaut (difficile de faire un certificat public via let’s encrypt). Ton soucis ne serait-il pas lié au fait que le certificat soit auto-signé et donc non reconnu par défaut par ton application. A creuser.

1 Like

Bonjour @Tiron

Quel est ton but réel derrière cette question ?

  1. Installer HA sans le connecter à internet et rester en usage 100% local ?
  2. Ne pas avoir besoin d’acheter / utiliser un nom de domaine ?
  3. Utiliser un domaine local pour une autre raison ?

Selon ta réponse diverses solutions peuvent être proposées.
Je crois que l’application HA (tout du moins l’application iOS, je n’ai pas Androïd) permet simplement de se connecter en http (= sans certificat) via une url type http://xx.xx.xx.xx:8123

Je souhaite tout simplement essayer Home Assistant car j’ai quelques interrupteur Sonoff que je souhaite flasher avec Tasmota. Le tout en local car je ne souhaite pas avoir un contrôle externe.

J’ai donc :

  1. Crée un domaine ha.local (car HA doit avoir son propre domaine visiblement)
  2. Installé Home Assitant sur le domaine ha.local

Je viens de tester et j’ai réussi à me connecter sans certificat via l’application Android sur l’adresse http://192.168.1.20:8123.
J’avais une erreur (timeout) au début.

Sur l’interface Yunohost, en allant dans Outils → Pare-Feu, le port 8123 n’était pas ouvert. Après l’avoir ouvert tout fonctionne.

Puisque Home Assitant utilise le port 8123, durant l’installation il devrait automatiquement être ouvert je pense. Mais n’étant pas compétant dans le domaine, je ne sais pas ce que vaut cette suggestion.

En tout cas, grand merci pour ta suggestion.

Super si ton problème est résolu !

Non car la philosophie du package HA (et de Yunohost en général) est de mettre les applications derrière un “reverse proxy” (Nginx en l’occurence) qui “transforme” une demande type url (homeassistant.mamaison.fr) en demande interne (127.0.0.1:8123).

C’est une mauvaise pratique d’ouvrir des ports sur une machine connectée à internet !

Merci pour tes explications qui permettent de voir plus clair.
Je ne connais pas le fonctionnement des reverse proxy. Je regarde pour en apprendre un peu plus.

Dans le cas ici, j’aurais pu faire quelque chose d’autre à part ouvrir le port en question ?

Apparemment il y a des moyens d’ajouter et de “faire confiance” à un certificat auto-signé, mais ça se joue au niveau du téléphone, pas au niveau de l’application Home Assistant. Une fois le certificat approuvé l’application aurait probablement pu fonctionner correctement avec https://ha.local comme url et en gardant le port 8123 fermé.

Est-ce que ça vaut le coup ? Comme ça je dirais non vu que tu n’entres l’url qu’une fois pour configurer l’appli et tu peux continuer à utiliser ha.local comme url sur ton ordinateur. Tant que ton ordinateur n’est pas sur internet je ne vois pas de danger particulier (mais je ne suis pas un expert).

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.