Historiser des valeurs de capteurs Home Assistant dans Airtable

De Wiki de Mémoire Vive
Révision datée du 6 septembre 2023 à 14:50 par 192.168.2.1 (discussion)
Aller à la navigation Aller à la recherche

Airtable est un outil cloud qui permet de gérer facilement des bases de données, typiquement avec des tables et des relations. Sans programmation.

Par ailleurs, Home Assistant permet d'exploiter des capteurs d'ouverture, de température, de présence, etc.

On peut souhaiter historiser dans une base de données des valeurs remontées par Home Assistant. Par exemple, chaque jour la température relevée au lever du soleil.

Pour cela, on crée une automatisation dans HA, et dans son déclenchement on inclut une action pour aller écrire dans Airtable. Parallèlement, on pourra ainsi consulter les valeurs enregistrées.

Airtable peut être intéressant si on a plusieurs plateformes HA. Ainsi il sera possible de consolider les données de plusieurs sources, par exemple pour les températures relevées à différents domiciles !

Cela pourrait être un sujet d'atelier, une fois que différents adhérents auront mis en œuvre leur propre domotique. Ce serait un bon moyen de se familiariser avec les automatisations.

D'autres outils que Airtable pourraient être utilisés, comme InfluxDB. Notamment pour faire face à la limitation en volume de tables Airtable.

Denis

Exemple de script YAML (dans configuration.yaml) qui crée un service d'enregistrement avec un champ OUVERTURE, la date étant renseignée automatiquement dans Airtable,

# pour écrire dans Airtable    
rest_command:
 ajouter_enregistrement_airtable:
   url: "https://api.airtable.com/v0/appw9KLcx9Y2Hj0uf/logporte "
   method: post
   headers:
     Authorization: "Bearer pattPiKMi6R3GQBG5.21006f5aebe224bda60ab2fd70cxxxxxxxxxxxxx76693ce8c226ef0e83bfa532"
     Content-Type: "application/json"
   payload: '{"fields": {"Porte garage": "OUVERTURE"}}'


A noter, un script analogue peut être testé avec une commande curl sur une fenêtre Terminal,

curl -X POST "https://api.airtable.com/v0/appw9KLcx9Y2Hj0uf/logporte" ^
-H "Authorization: Bearer pattPiKMi6R3GQBG5.21fc3xxxxxxxxxxxxxxxxx3c5236d4df588469bd0be42d7fa98541250be5fb9e" ^
-H "Content-Type: application/json" ^
-d "{\"fields\": {\"Porte garage\": \"OUVERTURE\"}}"