Contenus de la page
Installation en mode supervisé
En suivant le documentation https://www.home-assistant.io/installation/linux#install-home-assistant-supervised et plus spécifiquement https://github.com/home-assistant/architecture/blob/master/adr/0014-home-assistant-supervised.md. Il faut installer une Debian 12 (ne marche pas sinon) et ensuite suivre les instructions.
Pour la gestion des périphériques Zigbee nous avons ajouté à la machine un dongle USB SonOff.
HACS (Home Assistant Community Store)
HACS est une extension pour Home Assistant (non fournie par Home Assistant version officielle) qui simplifie l’ajout d’intégrations, de thèmes et de cartes personnalisées, développés par les autres utilisateurs de Home Assistant. Explorez et installez facilement des plugins communautaires, bénéficiez de mises à jour automatiques et profitez du soutien d’une vaste communauté d’utilisateurs. HACS rend votre expérience Home Assistant plus riche et personnalisée, tout en garantissant sécurité et fiabilité.
HACS repose sur l’accès à des dépôts github et nécessite une connexion à un compte github. Dans notre cas nous avons créé un compte spécifique dont l’email est gh_hacs@eirlab.net. Il suffit de suivre la documentation https://www.hacs.xyz/ (ajout depuis settings/Devices and Services/Add integration).
Une fois HACS installé, nous avons ajouté des Add-On ( Settings/Add-On) :
- Advanced SSH and Web Terminal
- Terminal and SSH
- File Editor
- ESP Home (version officielle HA)
- MQTT IO
- Spotify Connect
- Ultimaker
Ajout d’intégrations
On peut ajouter différentes intégrations de la manière suivante Settings/Devices and Services/Add Integration :
- Zigbee Home Automation
- Phillips Hue
- Bluetooth
- UPnP/IGD (gestion du routeur)
Configuration des intégrations
Dans l’intégration Zigbee nous avons ajouté différents Devices : température et humidité (SonOff), capteur de présence (Aqara) et des prises connectées (Zigbee Nous).
Dans l’intégration Phillips Hue nous avons ajouté le bridge Phillips Hue qui permet d’avoir accès aux différents devices tels que les rubans LED, les spots et les interrupteurs.
L’intégration UPnP donne des informations sur le réseau.
Ultimaker
L’ajout de la gestion des Ultimaker (extension HACS Ultimaker installée) passe par le fichier configuration.yaml
On utilise le file editor pour ajouter les différents paramètres d’imprimante :
# Configuration des capteurs
sensor:
- platform: ultimaker
name: ultimaker_s5_01
host: 192.168.0.119
scan_interval: 10
decimal: 2
sensors:
- status
- state
- progress
- bed_type
- bed_temperature
- bed_temperature_target
- hotend_1_id
- hotend_1_temperature
- hotend_1_temperature_target
- hotend_2_id
- hotend_2_temperature
- platform: ultimaker
name: ultimakers3
host: 192.168.0.105
scan_interval: 10
decimal: 2
sensors:
- status
- state
- progress
- bed_type
- bed_temperature
- bed_temperature_target
- hotend_1_id
- hotend_1_temperature
- hotend_1_temperature_target
- hotend_2_id
- hotend_2_temperature
- platform: ultimaker
name: ultimakers5_02
host: 192.168.0.110
scan_interval: 10
decimal: 2
sensors:
- status
- state
- progress
- bed_type
- bed_temperature
- bed_temperature_target
- hotend_1_id
- hotend_1_temperature
- hotend_1_temperature_target
- hotend_2_id
- hotend_2_temperature
Pour accéder au flux des caméras intégrées dans le Ultimaker, de manière fluide, on ajoute le lien du flux vidéo séparément de la déclaration des imprimantes (cf code au dessus), toujours dans le fichier configuration.yaml :
# Déclaration des caméras des Ultimaker
camera:
- platform: generic
name: ultimaker_s5_01
stream_source: http://192.168.0.119:8080/?action=stream
framerate: 4
- platform: generic
name: Ultimakers3
stream_source: http://192.168.0.105:8080/?action=stream
framerate: 4
- platform: generic
name: ultimaker_s5_02
stream_source: http://192.168.0.110:8080/?action=stream
framerate: 4
Dashboard
L’affichage des différentes données collectées par les devices se font sur des dashboards organisés par thèmes. La création d’un dashboard se fait depuis eirlab en mode éditeur suivant le chemin Add view/save/Add card. Chaque carte peut être éditée manuellement dans show code editor.
Le plan interactif a été créé via la card picture-elements et par superposition d’images .png auxquelles sont rattachées diverses entités (lumières, capteurs …) . On peut également ajouté à l’entité un bouton qui lui correspond. Des labels peuvent également être attribués aux paramètres suivants : température, humidité, CO2.
type: picture-elements
elements:
- type: image
entity: light.casier_elec_2
style:
top: 50%
left: 50%
width: 100%
state_image:
'on': /local/plan/bureau.png
'off': /local/plan/transparent.png
- type: image
entity: light.yoan
style:
top: 50%
left: 50%
width: 100%
state_image:
'on': /local/plan/mur.png
'off': /local/plan/transparent.png
- type: image
entity: light.hue_color_spot_1
style:
top: 50%
left: 50%
width: 100%
state_image:
'on': /local/plan/bureau.png
'off': /local/plan/transparent.png
- type: image
entity: light.hue_color_spot_1_2
style:
top: 50%
left: 50%
width: 100%
state_image:
'on': /local/plan/flipper.png
'off': /local/plan/transparent.png
- type: image
entity: light.table_son
style:
top: 50%
left: 50%
width: 100%
state_image:
'on': /local/plan/pilier_1.png
'off': /local/plan/transparent.png
- type: image
entity: light.thermoformeuse
style:
top: 50%
left: 50%
width: 100%
state_image:
'on': /local/plan/pilier_2.png
'off': /local/plan/transparent.png
- type: image
entity: light.volterra
style:
top: 50%
left: 50%
width: 100%
state_image:
'on': /local/plan/pilier_2.png
'off': /local/plan/transparent.png
- type: image
entity: light.libre_service_1
style:
top: 50%
left: 50%
width: 100%
state_image:
'on': /local/plan/pilier_3.png
'off': /local/plan/transparent.png
- type: image
entity: light.hue_color_spot_2
style:
top: 50%
left: 50%
width: 100%
state_image:
'on': /local/plan/pilier_3.png
'off': /local/plan/transparent.png
- type: state-label
entity: sensor.temperature_01_temperature
attribute: null
style:
top: 56%
left: 47%
color: black
font-size: 20px
font-family: Roboto, sans-serif
background: rgba(255,255,255,0.3)
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3)
padding: 4px
border-radius: 4px
- type: state-label
entity: sensor.temperature_01_humidity
attribute: null
style:
top: 65%
left: 47%
color: black
font-size: 20px
font-family: Roboto, sans-serif
background: rgba(255,255,255,0.3)
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3)
padding: 4px
border-radius: 4px
- type: state-label
entity: sensor.temperature_02_temperature
attribute: null
style:
top: 10%
left: 73%
color: black
font-size: 20px
font-family: Roboto, sans-serif
background: rgba(255,255,255,0.3)
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3)
padding: 4px
border-radius: 4px
- type: state-label
entity: sensor.temperature_02_humidity
attribute: null
style:
top: 19%
left: 73%
color: black
font-size: 20px
font-family: Roboto, sans-serif
background: rgba(255,255,255,0.3)
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3)
padding: 4px
border-radius: 4px
- type: state-label
entity: sensor.mh_z19_co2_sensor
attribute: null
style:
top: 19%
left: 82%
color: black
font-size: 20px
font-family: Roboto, sans-serif
background: rgba(255,255,255,0.3)
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3)
padding: 4px
border-radius: 4px
- type: state-icon
entity: light.yoan
style:
top: 25%
left: 43%
tap_action:
action: toggle
- type: state-icon
entity: light.casier_elec_2
style:
top: 39%
left: 42%
tap_action:
action: toggle
- type: state-icon
entity: light.hue_color_spot_1
style:
top: 39%
left: 44%
tap_action:
action: toggle
- type: state-icon
entity: light.hue_color_spot_1_2
style:
top: 25%
left: 28%
tap_action:
action: toggle
- type: state-icon
entity: light.volterra
style:
top: 55%
left: 53%
tap_action:
action: toggle
- type: state-icon
entity: light.thermoformeuse
style:
top: 50%
left: 53%
tap_action:
action: toggle
- type: state-icon
entity: light.hue_color_spot_2
style:
top: 50%
left: 65%
tap_action:
action: toggle
- type: state-icon
entity: light.libre_service_1
style:
top: 55%
left: 65%
tap_action:
action: toggle
image: /local/plan/eteint.png