Il y a 44 articles disponibles !

AppDaemon sur Docker et Home Assistant

Dernière mise à jour le 24 mars 2024

AppDeamon sur Docker et Home Assistant

AppDaemon et Home Assistant, comment créer vos tableaux de bords !

AppDaemon c’est quoi ?

https://appdaemon.readthedocs.io/en/latest/

Pour commencer, bonjour et bienvenue sur mon blog Technologie Geek ! Voyons ensemble comment déployer et créer un tableau de bord avec AppDaemon sur Docker et Home Assistant. AppDaemon est un framework open-source qui vous permet d’ajouter des automatisations, mais aussi des applications personnalisées à HA. Ensuite, il est conçu pour fonctionner avec Home Assistant, ce qui vous simplifie l’intégration. AppDaemon prend en charge les notifications, les interactions vocales, mais également l’accès aux bases de données et l’intégration de bibliothèques tierces. Vous pourrez déployer des tableaux de bord personnalisés et interagir avec des appareils domotique tel que le NSPanel de Sonoff que nous verrons lors d’un prochain article.


Que nous faut-il ?


Installation d’AppDaemon sur Docker et Home Assistant :

1. Déployer AppDaemon :

Premièrement, rendez-vous dans Home Assistant, puis dans votre profil et ajouter un jeton de longue durée que vous pouvez nommer « appdaemon ». Une fois le token créer, il vous faut le sauvegarder (Home Assistant ne l’affichera plus).

Dans ce tutoriel, nous allons déployer deux conteneurs en même temps « Home Assistant et AppDaemon ». Pour commencer et déployer AppDaemon sur Docker, rendez-vous sur Portainer et sélectionner votre environnement local. Ensuite, aller dans « Stacks » puis cliquer sur « Add stack » en haut à droite.

Maintenant dans « Nane » taper le nom de votre stack, pour ma part se sera « homeassistant » puis coller le code ci-dessous en ajustant les volumes de données (le volume d’AppDaemon doit être dans le volume config de Home Assistant). Pour finir, ajuster également la variable HA_URL et enfin, coller le token récupéré plutôt et cliquer sur « deploy the stack » :

version: '3.8'
services:
  homeassistant:
    image: homeassistant/home-assistant:stable
    container_name: homeassistant
    environment:
      - TZ=Europe/Paris
    ports:
      - 8123:8123
    volumes:
      - /opt/docker/ha/config:/config
      - /etc/localtime:/etc/localtime:ro
    restart: always

  appdaemon:
    container_name: appdaemon
    image: acockburn/appdaemon:latest
    environment:
      - HA_URL="http://xxx.xxx.x.xxx:8123"
      - DASH_URL="http://127.0.0.1:5050"
      - TOKEN="xxxxxxxxxxxxxxx"
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /opt/docker/ha/config/appdaemon:/conf
    ports:
      - 5050:5050
    depends_on:
      - homeassistant
    restart: unless-stopped

Bien sûr, vous pouvez installer AppDaemon sur docker en déployant uniquement un conteneur. Pour cela, ajuster le volume de données ainsi que la variable HA_URL comme préciser plus haut.

version: '3.8'
services:
  appdeamon:
    image: acockburn/appdaemon:latest
    container_name: appdeamon
    environment:
      - HA_URL="http://xxx.xxx.x.xxx:8123"
      - DASH_URL="http://127.0.0.1:5050"
      - TOKEN="xxxxxxxxxxxxxxxx"
    ports:
      - 5050:5050
    volumes:
      - /opt/docker/ha/config/appdaemon:/conf
      - /etc/localtime:/etc/localtime:ro
    restart: always

Ensuite, rendez-vous à l’adresse « http://ip-de-votre-serveur:5050 » pour ma part « http://192.168.1.225:5050 ».

Installation d'AppDaemon sur Docker
2. Configuration d’AppDaemon sur Docker :

Maintenant qu’AppDaemon est déployé sur Docker, vous devez le paramétrer. Pour ce faire, connectez-vous sur votre serveur en SSH, puis rendez-vous dans le dossier AppDaemon pour ma part « /opt/docker/ha/config/appdaemon ». Ensuite, il faut éditer le fichier « appdaemon.yaml » et coller les éléments manquant du code ci-dessous en ajustant :

  • La latitude, longitude et l’élévation.
  • Les informations de connexion pour Home Assistant devraient être présentes.
  • Les informations de votre broker MQTT (adresse IP, identifiant et mot de passe).
cd / && cd opt/docker/ha/config/appdaemon && sudo nano appdaemon.yaml

appdaemon:
  latitude: 0
  longitude: 0
  elevation: 0
  time_zone: Europe/Paris
  plugins:
    HASS:
      type: hass
      ha_url: "http://xxx.xxx.x.xxx:8123"
      token: "xxxxxxxxxxxxxxx"
      cert_verify: True
    MQTT:
      type: mqtt
      namespace: mqtt
      client_id: "appdaemon"
      #client_host: core-mosquitto.local.hass.io # This should work if you are using supervised HomeAssistant; if not use the IP Address instead.
      client_host: xxx.xxx.x.xxx
      client_port: 1883
      client_user: "user"
      client_password: "password"
      client_topics: NONE
http:
  url: "http://127.0.0.1:5050"
admin:
api:
hadashboard:

3. Paramétrage de votre tableau de bord :

Ensuite, Rendez-vous dans le dossier « dashboards » de AppDaemon pour créer un fichier de configuration pour votre tableau de bord et copier le code ci-dessous en ajustant les entités, le titre et tout ce qu’il vous convient. Pour ma part je l’ai nommé « sejour.dash ». Le fichier se compose en trois parties :

  1. La configuration principale de votre tableau de bord.
  2. Le paramétrage de vos entitées.
  3. Le layout (la mise en page).
cd / && cd opt/docker/ha/config/appdaemon/dashboards && sudo nano sejour.yaml

title: Séjour
widget_dimensions: [120, 120]
widget_size: [1, 1]
widget_margins: [5,5]
columns: 3
rows: 2
global_parameters:
    use_comma: 0
    precision: 1
    use_hass_icon: 1
    namespace: default

lumiere_salon:
    widget_type: switch
    title: Lumière salon
    entity: switch.lumiere_sejour_lumiere_salon
    icon_on: mdi-light-switch
    icon_off: mdi-light-switch
    warn: 1
lumiere_salle_a_manger:
    widget_type: switch
    title: Lumière salle à manger
    entity: switch.lumiere_sejour_lumiere_salle_a_manger
    icon_on: mdi-light-switch
    icon_off: mdi-light-switch
    warn: 1
lampe_salon:
    widget_type: switch
    title: lampe salon
    entity: switch.lampe_salon
    icon_on: mdi-lamp
    icon_off: mdi-lamp
    warn: 1
temperature:
    widget_type: sensor
    widget_style: "font-size: 150%;"
    title: Temperature séjour
    precision: 0
    entity: sensor.capteur_sejour_am2301_temperature
humidity:
    widget_type: sensor
    title: Humidité séjour
    units: "%"
    precision: 0
    entity: sensor.capteur_sejour_am2301_humidity

layout:
    - lumiere_salon(1x1), lumiere_salle_a_manger(1x1), lampe_salon(1x1)
    - temperature(2x1), humidity(1x1)

Pour accéder à votre tableau de bord, rendez-vous à l’adresse « http://ip-de-votre-serveur:5050/nom-de-votre-dashboard » ou alors sur la page d’accueil d’Appdaemon dans la section « Dashboards ».

Tableau de bord AppDaemon

En conclusion, AppDaemon sur Docker et Home Assistant est un outil puissant pour créer vos tableaux de bords, ajouter des automatisations et personnaliser votre système domotique. Vous pouvez par exemple réutiliser une veille tablette tactile pour créer un écran de gestion personnalisé…



Laisser un commentaire

Technologie Geek

bonjour !

Inscrivez-vous pour recevoir nos nouveaux articles !

Nous ne spammons pas ! Consultez notre politique de confidentialité pour plus d’informations.

Bienvenue sur mon blog Technologie Geek ! Je m'appelle Stéphane, je suis chef d'entreprise et Je suis un passionné de technologie, découvrez mes articles et mes test sur l'informatique, la domotique ainsi que la virtualisation.

Je crois que chacun peut apprendre quelque chose de nouveau chaque jour. Partager ses connaissances peut enrichir la vie des autres. C’est pourquoi j’ai créé ce blog pour offrir à notre communauté une plateforme pour partager des idées, des opinions et des expériences.