# Documentation d'Utilisation du Script pour LaMetric et Home Assistant ## Introduction Ce script Bash permet d'afficher des informations provenant de Home Assistant sur un appareil LaMetric. Il s'intègre avec l'API de Home Assistant pour récupérer les valeurs de différents capteurs et envoyer ces informations à LaMetric sous forme de notifications. ## Prérequis - Etre dans le même réseau local - Une machine linux - Un appareil LaMetric. - Une instance de Home Assistant. - Script bash - Un fichier de configuration JSON pour définir les paramètres nécessaires, à créer !. - `jq` pour manipuler les données JSON, `apt install jq`. ## Script bash ```bash #!/bin/bash # Emplacement du fichier de configuration CONFIG_PATH="/home/lametric/script/config.json" # Vérification si le fichier de configuration existe if [ ! -f "$CONFIG_PATH" ]; then echo "Erreur : le fichier de configuration '$CONFIG_PATH' est introuvable." exit 1 fi # Charger la configuration depuis le fichier JSON HOME_ASSISTANT_URL=$(jq -r '.home_assistant_url' "$CONFIG_PATH") HOME_ASSISTANT_TOKEN=$(jq -r '.home_assistant_token' "$CONFIG_PATH") LAMETRIC_URL=$(jq -r '.lametric_url' "$CONFIG_PATH") LAMETRIC_USER=$(jq -r '.lametric_user' "$CONFIG_PATH") LAMETRIC_PASSWORD=$(jq -r '.lametric_password' "$CONFIG_PATH") SENSOR_ENTITY_IDS=($(jq -r '.sensor_entity_ids[]' "$CONFIG_PATH")) # Fonction pour récupérer les données de Home Assistant get_home_assistant_data() { response=$(curl -s -H "Authorization: Bearer $HOME_ASSISTANT_TOKEN" -H "Content-Type: application/json" "$HOME_ASSISTANT_URL") echo "$response" } # Fonction pour envoyer une notification à LaMetric send_notification_to_lametric() { local title="$1" local message="$2" local icon="$3" read -r -d '' data < /chemin/vers/ce/config.json ``` ### Fichier de Configuration : config.json Le script utilise un fichier `config.json` pour récupérer les différents paramètres requis, tels que les URL des services et les informations d'authentification. Chaque paramètre joue un rôle essentiel : Voici un exemple de ce fichier : ```json { "home_assistant_url": "http://192.168.x.x:8123/api/states", "home_assistant_token": "...", "lametric_url": "http://192.168.x.x:8080/api/v2/device/notifications", "lametric_user": "dev", "lametric_password": "...", "sensor_entity_ids": [ "sensor.station_temperature", "sensor.station_humidity", "sensor.system_monitor_load_1m", "sensor.smappee_1006002667_local_total_consumption_active_power", "sensor.system_monitor_disk_use" ], "sensor_custom_icons": { "sensor.station_temperature": "8044", "sensor.station_humidity": "2423" } } ``` ### Description des Champs - **home\_assistant\_url** : URL de l'API Home Assistant pour récupérer l'état des capteurs. - **home\_assistant\_token** : Jeton d'authentification pour accéder à Home Assistant. - **lametric\_url** : URL de l'appareil LaMetric pour envoyer des notifications. - **lametric\_user** et **lametric\_password** : Identifiants pour se connecter à l'appareil LaMetric. - **sensor\_entity\_ids** : Liste des capteurs de Home Assistant dont les données doivent être affichées. - **sensor\_custom\_icons** : (Facultatif) Définir des icônes personnalisées pour certains capteurs. ## Utilisation ### Lancement du Script Pour exécuter le script, assurez-vous qu'il est exécutable : ```bash chmod +x /chemin/vers/ce/script.sh ``` Puis lancez le script avec la commande suivante : ```bash ./script.sh ``` ### Configuration des Notifications sur LaMetric - Les notifications LaMetric sont envoyées via une requête POST. - Chaque notification contient des "frames", chaque frame peut être personnalisée avec du texte et une icône. ## Planification via Crontab Pour planifier la mise à jour automatique des données toutes les 15 minutes, ajoutez une tâche cron : ```bash crontab -e ``` Ajoutez la ligne suivante : ```bash */15 * * * * /chemin/vers/ce/script.sh ``` Cela exécutera le script toutes les 15 minutes. ## Points Importants - **Authentification Home Assistant** : Utilisez un token que vous pouvez générer depuis votre profil utilisateur dans Home Assistant, sous l'onglet "Sécurité". - **Icônes pour LaMetric** : Les icônes peuvent être trouvées sur [LaMetric Icon Gallery](https://developer.lametric.com/icons). ## Pour obtenir les tokens : \- Home Assistant : Crée un token depuis ton profil utilisateur dans Home Assistant   lien de votre Home Assistant:  https\://homeassistant/profile/security \- LaMetric : Récupérez la clef API sur [https://developer.lametric.com/user/devices](https://developer.lametric.com/user/devices). ### Pour les icônes des notifications : \- Les icônes peuvent être sélectionnées parmi une liste prédéfinie par LaMetric, identifiées par un ID d'icône (par exemple, "a4157" ou "11100").  - Toutes les icons :  [https://developer.lametric.com/icons](https://developer.lametric.com/icons)