Table des matières:

Contrôlez votre portail coulissant automatique avec Home Assistant et ESPHome : 5 étapes (avec photos)
Contrôlez votre portail coulissant automatique avec Home Assistant et ESPHome : 5 étapes (avec photos)

Vidéo: Contrôlez votre portail coulissant automatique avec Home Assistant et ESPHome : 5 étapes (avec photos)

Vidéo: Contrôlez votre portail coulissant automatique avec Home Assistant et ESPHome : 5 étapes (avec photos)
Vidéo: Comment rendre son portail connecté (ou garage ou autre) 2024, Juin
Anonim
Contrôlez votre portail coulissant automatique avec Home Assistant et ESPHome
Contrôlez votre portail coulissant automatique avec Home Assistant et ESPHome

L'article suivant est un retour d'expérience sur mon expérience personnelle dans le contrôle du portail coulissant automatique que j'avais installé sur ma maison. Ce portail, labellisé "V2 Alfariss", était muni de quelques télécommandes Phox V2 pour le contrôler. J'ai également une sonnette Google Nest Hello, qui ne peut malheureusement pas être branchée sur le contrôleur de portail coulissant pour ouvrir le portail à distance depuis l'application mobile. Pour moi, une façon de résoudre cette limitation était de trouver un moyen de connecter le contrôleur de portail coulissant automatique à Internet. Avec ce nouveau portail connecté, je peux répondre à des cas d'usage comme le pilotage du portail coulissant avec mon téléphone portable. J'y suis parvenu en utilisant Home Assistant, ESPhome et quelques pièces électroniques.

L'idée derrière cet article n'est pas de vous donner quelque chose de prêt à l'emploi, mais plutôt de vous inspirer. N'oubliez pas que si vous n'avez pas exactement le même portail automatique, n'oubliez pas de télécharger et de lire la documentation technique de votre modèle. Adaptez-le et améliorez-le. Attention: Soyez prudent et n'oubliez pas de couper l'alimentation électrique avant d'ouvrir le contrôleur principal. Prendre plaisir!

Fournitures

  • Outils:

    • Tournevis
    • Fer à souder
    • Multimètre
  • Les pièces:

    • Raspberry PI 3 (ensemble complet: 2A alim + carte sd 32go)
    • ESP8266 Wemos D1 mini
    • 2 modules relais
    • 2 résistances 10k
    • PCB pour le prototypage
    • Fils

Étape 1: Comment ça marche ?

Comment ça marche?
Comment ça marche?

Le principal défi ici est de connecter le portail coulissant automatique à un téléphone intelligent. Pour ce faire, transformons le portail coulissant automatique en appareil IOT. Bien sûr, il existe plusieurs façons d'y parvenir. Dans mon cas, après quelques expériences, j'ai décidé d'aller avec:

  • Utilisation de Home Assistant comme hub pour contrôler le portail et recevoir les demandes d'un utilisateur.
  • Installation d'ESPHome en tant que firmware à l'intérieur de l'ESP8266.
  • Parties éléctroniques:

    • Un prototype de PCB pour souder des composants et les connecter
    • Deux relais pour simuler un bouton poussoir pour ouvrir ou fermer le portail
    • Une ancienne alimentation 5V pour alimenter l'ESP8266
    • Deux résistances pour diviser la tension du capteur d'ouverture/fermeture
  • Une connexion Internet avec un routeur (nécessite une fonction de configuration de règle NAT)
  • Un compte DuckDNS pour permettre la résolution de nom à votre Home Assistant
  • Un téléphone portable pour installer l'application Home Assistant et un widget à l'écran

Le flux

Regardez le schéma pour mieux comprendre.

  1. Depuis votre téléphone mobile, vous appuyez sur le widget de l'application mobile Home Assistant
  2. Une demande est envoyée à votre adresse Web Home Assistant (résolue par DuckDNS et TLS par let's encrypt).
  3. Votre routeur Internet achemine la demande vers l'application Home assistant
  4. Home Assistant envoie l'action de demande à ESPHome
  5. ESPHome déclenche le moteur du portail coulissant automatique
  6. Champagne !

Étape 2: Installer et configurer Home Assistant sur Raspberry PI

Home Assistant peut être considéré comme une plaque tournante pour toutes vos affaires IOT à domicile. Ce sera un bon endroit pour contrôler tous les appareils connectés et ajouter de nombreuses fonctionnalités. Les principales fonctionnalités que j'aime le plus sont le tableau de bord, l'API et la diversité des add-ons.

Installation

Je n'ai clairement aucune valeur ajoutée pour vous dire comment configurer et installer Home Assistant. En fait, avant ce projet je ne connaissais pas ce logiciel. Les articles clés sont:

  • Installez Home Assistant avec cet article
  • La configuration réseau pour Home Assistant peut être trouvée ici:

    github.com/home-assistant/operating-system…

  • Installez ESPHome avec ceci:
  • Installez le module complémentaire DuckDNS pour Home Assistant:
  • Installer le plugin File Editor (utile):

Après tous ces points, vous avez un bon Home Assistant fonctionnant sur votre Raspberry PI. Vous devez pouvoir y accéder via HTTP et une adresse IP locale ou essayez

Configuration

Configurez DuckDNS avec votre domaine et avec le jeton. Par exemple, vous pouvez voir sur les photos, un morceau de ma configuration. N'oubliez pas d'accepter_terms avec "true".

Lets_encrypt:

accept_terms: true certfile: fullchain.pem keyfile: privkey.pem token: 92f56bb2-2c26-4802-8d4d-xxxxxxxxxxxx domaines: - nameofyourchoice.duckdns.org secondes: 300

Je décide de configurer HA avec une IP statique car c'est plus simple et vous êtes sûr que l'IP sera la même après un redémarrage et ensuite vos règles de redirection de port continueront de fonctionner: https://github.com/home-assistant/ système d'exploitation…

Dans mon cas, j'ajoute un élément de configuration dans le fichier configuration.yaml car DuckDNS ne gère pas le https, juste le certificat let's encrypt et la mise à jour DuckDns:

http:

ssl_certificate: /ssl/fullchain.pem ssl_key: /ssl/privkey.pem base_url:

Étape 3: La carte électronique personnalisée pour améliorer la porte coulissante automatique

La carte électronique personnalisée pour améliorer la porte coulissante automatique
La carte électronique personnalisée pour améliorer la porte coulissante automatique
La carte électronique personnalisée pour améliorer la porte coulissante automatique
La carte électronique personnalisée pour améliorer la porte coulissante automatique
La carte électronique personnalisée pour améliorer la porte coulissante automatique
La carte électronique personnalisée pour améliorer la porte coulissante automatique

C'était peut-être la partie la plus inhabituelle pour moi parce que je suis généralement plus en train de peaufiner des logiciels que des matériels. J'ai commencé avec une maquette et un circuit très basique, juste pour vérifier que je suis capable de télécharger un programme à l'intérieur du Wemos D1 mini et de faire clignoter une LED. Ensuite, j'ai changé le firmware de l'ESPhome et suis cet article de démarrage parfait:

Après quelques itérations pour trouver le bon circuit, je l'ai documenté avec Fritzing. Assurez-vous de passer du temps sur cette étape car il n'y a pas de retour en arrière lorsque tout est soudé (pas exactement mais pas de restauration facile). J'ai essayé de simuler le capteur d'entrée de la porte coulissante automatique, mais ce fut un échec (j'expliquerai plus tard pourquoi). Personnellement, j'ai trouvé que Fritzing est un bon outil pour documenter ce que vous câblez sur la planche à pain.

Note: Vous trouverez un bon point de départ ici dans la FAQ ESPhome si vous ne pouvez pas brancher votre ESPHome to Home Assistant pour la première initialisation. Une fois le firmware téléchargé, vous pourrez télécharger "over the air" (OTA).

Relais pour activer la gâchette d'ouverture/fermeture

Dans la spécification technique du portail coulissant automatique, il est précisé qu'il faut fermer un circuit entre "START" et "COM" pour déclencher une action d'ouverture/fermeture du portail (l'ouverture complète). Un circuit fermé entre "START. P" et "COM" déclenche une action d'ouverture/fermeture du portail pour piéton. Je n'ai pas utilisé le "STOP" mais c'est le même concept mais pour arrêter le portail en ouverture ou en fermeture.

Concernant le choix des composants électroniques, j'ai décidé d'opter pour un relais au lieu d'un transistor. Les transistors sont sympas mais ils ne garantissent pas que le circuit est parfaitement proche. Je pense qu'ils peuvent laisser passer un courant très faible dans le circuit. Un autre avantage du relais est que lorsque vous testez votre circuit, vous entendez essentiellement lorsque le contact est proche avec le son "clic".

Obtenir l'état du capteur ouvert

Au début, je pensais utiliser des capteurs magnétiques pour détecter les états d'ouverture ou de fermeture du portail. Mais je me suis rendu compte qu'il y a une prise qui mentionne "capteur de limite" sur le contrôleur. Clairement pas fait pour être utilisé (par des geek comme moi), j'ai trouvé avec un testeur de contact que je peux lire l'état ouvert ou fermé lorsque j'ouvre le portail. J'ai fait une grosse erreur en pensant que l'état était une sorte de tension logique TTL (3.3v). Dans ce cas, vous pouvez les brancher directement sur Wemos Input. Mais en fait, lorsque la porte est ouverte, il y a une tension de sortie de 6,3v. Pour utiliser ce signal, vous devez diviser la tension avec ce genre de circuit https://www.learningaboutelectronics.com/Articles/H… La solution est assez simple car la tension doit être divisée par deux. J'ai donc utilisé deux résistances de 10 Kohms entre la sortie du capteur de limite et l'entrée Wemos (encore une fois, regardez dans les images jointes pour un schéma).

Alimentation 5v pas chère

Pour alimenter tous ces composants, j'utilise une ancienne alimentation de téléphone portable. Je l'ai ouvert et j'ai changé la prise en petit câble de prise avec vis. J'ai aussi décidé de fusionner les deux pcb (esp et alim) avec de la colle chaude (oui je sais, c'est un peu sale mais ça marche:-). Pas la chose la plus propre jamais mais plus facile à manipuler et éviter de toucher le 220v.

C'est tout pour la partie hardware.

Étape 4: ESPHome Firmware à exécuter sur le prototype de PCB

La logique à l'intérieur de l'ESP8266 est injectée via le portail Home Assistant ESPHome Add-on. Vous codez la logique exécutée par ESPHome. Le très petit type d'application doit être du code avec la syntaxe ESPHome. C'est vraiment facile et c'est amusant car, juste avec quelques lignes de YAML, votre ESP8266 devient rapidement une chose intelligente. Le code source complet est disponible ici: https://gist.github.com/toomone/819112ea1b04937912… Concentrons-nous sur la partie importante du code.

Contrôler les relais

Comme je l'ai dit précédemment, le contrôleur de portail coulissant automatique peut déclencher une action d'ouverture ou de fermeture avec juste une courte impulsion (circuit fermé) entre deux entrées. Pour ce faire, vous devez configurer une section de commutation avec peu de configuration. Par exemple, concentrons-nous sur la partie qui active (ouvrir ou fermer) l'ouverture partielle du portail (nécessaire pour un piéton par exemple).

changer:

- plate-forme: broche gpio: D3 // le code PIN où le signal sera émis sur le Wemos id: relay restore_mode: ALWAYS_OFF - plate-forme: nom du modèle: icône "Gate Pedestrian Remote": "mdi:walk" turn_on_action: // le logique à exécuter par l'ESPHome pour simuler une impulsion - switch.turn_on: relais - délai: 500ms - switch.turn_off: relais

Le code précédent va générer un switch et un template. Ces deux concepts permettent à ESPHome d'offrir un mécanisme amélioré sans codage réel. Je vous invite à lire la documentation ESPHome pour approfondir les fonctionnalités proposées. https://esphome.io/cookbook/relay.html et

Lecture de l'état du capteur ouvert fermé

capteur_binaire:

- plate-forme: broche gpio: numéro: D1 inversé: vrai nom: "Open sensor" id: open_sensor device_class: garage_door

Cette partie du script indique à la carte wemos de lire l'état du capteur ouvert sur D1. Pour trouver D1, il vous suffit de lire sur votre PCB Wemos. J'ai utilisé le paramètre "inverted" sur true pour inverser la valeur du signal. Je ne me souviens pas de la raison claire, mais je pense qu'il était simple d'afficher la fermeture ou l'ouverture en fonction de l'état du portail sur le tableau de bord HA.

Autoriser l'appel d'API à ESPHome

Si vous souhaitez pouvoir utiliser le widget Home assistant sur votre téléphone, vous devez ajouter ce petit bout de code:

# Activer l'API Home Assistant

api: services: - service: open_portal_pedestrian puis: - switch.turn_on: relais - délai: 500ms - switch.turn_off: relais

De cette façon, le configurateur de l'application Home assistant listera l'action pour ouvrir le portail. J'ai choisi uniquement celle pour piéton car c'est celle que j'utilise le plus.

Étape 5: exposez votre assistant domestique au monde

Exposez votre assistant domestique au monde
Exposez votre assistant domestique au monde
Exposez votre assistant domestique au monde
Exposez votre assistant domestique au monde

Parce que, vous voulez pouvoir ouvrir votre portail coulissant automatique où que vous soyez sur la planète et pas seulement de chez vous, vous devez exposer votre HA au monde. Soit dit en passant, assurez-vous d'utiliser une authentification par mot de passe fort. Sur votre routeur Internet, vous devez configurer une règle pour acheminer tout le trafic provenant d'un port spécifique vers une IP spécifique et également un port. Par exemple, vous retrouverez la configuration que j'ai faite sur mon routeur fournisseur (désolé, c'est en français) mais vous remarquerez que c'est une configuration vraiment simple. La règle doit dire à votre routeur d'accepter tous les protocoles sur le port xxxx pour aller sur Home Assistant IP avec le port 8123 (si vous ne l'avez pas modifié).

C'est tout. N'hésitez pas à poser des questions car j'ai certainement oublié d'ajouter des détails sur une partie spécifique. Le système fonctionne tous les jours sans problème. J'aime aussi le fait que je puisse avoir l'état ouvert ou fermé du portail depuis mon téléphone.

Conseillé: