Ldfa Posté(e) le 30 décembre 2019 Partager Posté(e) le 30 décembre 2019 Home Assistant (@Home_Assistant) est un serveur domotique entièrement écrit en Python qui s’installe avec une seule ligne de commande dans le Terminal. Ce serait dommage de ne pas l’essayer ! Home Assistant est un projet open-source qui devenu très rapidement une référence dans le monde des serveurs domotique (github). Seul bémol, Home Assistant n’est disponible qu’en Anglais. Il est possible de traduire les étiquettes des widgets mais ça ne va pas au delà. Home Assistant et toutefois un très bon outil d’apprentissage si vous débutez en domotique ou en programmation. Pour rédiger cet article, j’ai utilisé un Raspberry Pi 3 avec la dernière version de Raspbian Jessie. Il est également possible d’installer Home-Assistant sur Mac OS X, Linux ou Windows. La seule condition est que Python 3.4 (ou supérieur) soit installé. Enfin, il est possible d’installer HomeAssistant sur un NAS Synology (la version DSM 6 est conseillée). Sur les machines Linux, il suffit d’executer la commande suivante dans le Terminal. pip3 install homeassistant Pour les utilisateurs de Windows 10 (ou 7), commencez par installer Python 3 puis dans le Command Prompt python -m pip install homeassistant Et voilà, en quelques minutes, votre serveur domotique est prêt à fonctionner. Contrairement aux autres solutions, il n’y a aucun composant supplémentaire à installer. Il suffira de configurer ce dont vous avez besoin à l’aide de fichiers de configuration dans le langage YAML. Démarrer La commande hass permet de démarrer Home-Assistant depuis le Terminal Pour accéder à Home Assistant, il vous suffit d’utiliser n’importe quel navigateur ayant un accès à votre réseau privé en saisissant cet URL http://IP_DE_VOTRE_PI:8123/states Démarrer en mode démo En saisissant la commande hass –demo-mode, on démarre directement dans le mode démo qui permet de tester les principales fonctionnalités. Aucun crainte à avoir, même si vous avez déjà commencer à modifier votre script, démarrer en mode démo ne modifie pas votre script. Vous pouvez également tester la démo ici https://home-assistant.io/demo/ Arrêter La combinaison de touche Ctrl+X dans le Terminal permet d’arrêter proprement Home-Assistant. Mettre à jour Pour mettre à jour, exécutez la commande suivante pip3 install --upgrade homeassistant Home-Assistant utilise le fichier configuration.yaml qui se trouve à la racine du répertoire d’installation. Sur Raspberry (Linux et Mac OS X) il se trouve à ~/.homeassistant. Sur Windows, il se trouve ici %APPDATA%/.homeassistant. L’écriture du script est assez simple. Il faut un peu maîtriser le langage YAML (documentation en anglais) qui n’a rien de bien méchant comme nous allons le voir. Exécutez la commande suivante pour éditer le fichier de configuration à l’aide de nano sudo nano configuration.yaml Chaque fonction débute par un mot clé, par exemple homeassistant: Dans ce bloc on y ajoute les paramètres sous la forme clé : valeur en retournant à la ligne pour chaque couple clé/valeur. Le symbole # est utilisé pour les commentaires. homeassistant: #Maison. Pour connaître votre adresse ip, utilisez http://freegeoip.io#Coordonnées GPS utilisées pour le service Météo latitude: 48.870972longitude: 2.533044 # C pour Celsius, F pour Fahrenheit temperature_unit: C Ajouter un capteur publiant des données sur MQTT Dans l’article précédent, nous avons vu comment installer le broker MQTT Mosquitto sur un Raspberry. Voyons maintenant comment il est très simple de récupérer une mesure de température réalisée avec un DHT22 et un ESP8266 (ce projet fera l’objet d’un prochain article). Voici donc comment récupérer des Topics MQTT. On ajoute une section mqtt mqtt: broker: localhost #si le Broker est installé sur le même poste qu’Home-Assistant port: 1883 #par défaut client_id: home-assistant-1 keepalive: 60 username: USERNAME #optionnel password: PASSWORD #optionnel protocol: 3.1 #par défaut Maintenant on ajoute un nouveau capteur (sensor) qui lit la température. La valeur se trouve dans le payload sensor: platform: mqtt state_topic: « sensor/temperature » name: « Température » qos: 0 unit_of_measurement: « °C » #value_template: ‘{{ payload }}’ Si on veut ajouter de nouveau capteur, il suffit de mettre un numéro à coté du mot clé sensor comme ceci (pour récupérer l’humidité) sensor 2: platform: mqtt state_topic: « sensor/humidity » name: « Humidité » qos: 0 unit_of_measurement: « °C » #value_template: ‘{{ payload }}’ Enregistrez la configuration (Ctrl + X puis O) et lancez le serveur avec la commande hass. Actualisez la page dans votre navigateur pour voir apparaître la mesure de température et d’humidité. Pour le moment Home-Assistant ne propose aucun service équivalent à my.openhab.com pour accéder à votre serveur domotique. Il va falloir configurer sa box manuellement pour cela Enfin il n’existe encore aucune application pour Android et iOS, il faudra en passer par un raccourci vers la page ou un signet pour accéder rapidement à votre serveur sur iPhone ou Android. Suite à l’arrêt de l’offre gratuite de DynDNS, je vous conseil de vous tourner vers no-ip.com qui en plus de proposer une offre gratuite et généralement proposé par les Box. Environ 30 noms de domaines sont proposés dans l’offre gratuite : hopto.org, ddns.org… Une fois votre compte créé, allez dans DynamicDNS puis Hostnames. Commencez par ajouter un Hostname en cliquant sur « Add Hostname ». Donnez un nom et choisissez un domaine (dans la liste free). Ensuite, vous devez activer le service DynDNS sur votre box. Voici un exemple pour une SFR Box. Un fois connecté à l’interface d’administration, allez dans DynDNS qui se trouve dans Réseau v4. Appuyez sur Activer et choisissez no-ip.com. Remplissez les champs nom d’utilisateur et mot de passe (ceux que vous avez utilisez pour créer un compte sur no-ip.com. Enfin indiquez votre nom de domaine (créé à l’étape précédente). Validez. Si tout est correct, le statut du service passe en vert et vous affiche l’adresse ip de votre domaine. Maintenant il reste encore à faire une redirection (Forwarding) du port 8123 du serveur Home-Assistant. Pour cela, allez dans Réseau v4 puis NAT. Donnez un nom à la redirection (par exemple homeassistant) et indiquez 8123 dans les champs Ports externes et Ports de destination. Indiquez enfin le dernier chiffre de l’adresse ip du poste sur lequel fonctionne Home-Assistant. Enregistrez la redirection. Ouvrez un navigateur, par exemple celui de votre iPhone ou de votre ordinateur et saisissez l’URL (exemple) monserveurdomotique.hopto.org:8123 C’est terminé, vous pouvez accéder à votre serveur domotique Home-Assistant depuis n’importe ou lorsque vous n’êtes pas à la maison. Sécuriser votre serveur Maintenant que votre serveur domotique est accessible depuis internet, il est préférable d’ajouter une protection par mot de passe. Pour cela ajouter un bloc http à la configuration http: api_password: MOT_DE_PASSE Le protection n’est cependant pas parfaite car les données sont transite en clair sur internet (connexion HTPP). Pour bien faire, il faudra mettre une connexion sécurisée HPPTS à l’aide d’un certificat Let’s Encrypyt par exemple. Pour ceux que veulent se lancer dans l’aventure, je vous renvoi vers cet article (en anglais) sur le blog d’Home Assistant. Résumé Titre Home Assistant : installation et premiers pas sur Raspberry Pi Description Installation 1er pas avec le serveur domotique Home Assistant sur Raspberry Pi. Modifier configuration.yaml, ajouter capteur MQTT, accès internet distant à l'aide de no-ip.com Auteur Christophe Editeur Projets DIY Logo Afficher l’article complet Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.