Son aktivite 1 month ago

Erreur32's Avatar Erreur32 bu gisti düzenledi 2 years ago. Düzenlemeye git

1 file changed, 17 deletions

lametric_homeassisatnt_sh_doc.md

@@ -216,23 +216,6 @@ Cela exécutera le script toutes les 15 minutes.
216 216 - **Authentification Home Assistant** : Utilisez un token que vous pouvez générer depuis votre profil utilisateur dans Home Assistant, sous l'onglet "Sécurité".
217 217 - **Icônes pour LaMetric** : Les icônes peuvent être trouvées sur [LaMetric Icon Gallery](https://developer.lametric.com/icons).
218 218
219 -
220 -
221 - ## Conclusion
222 -
223 - Ce script permet de facilement intégrer des capteurs de Home Assistant avec un appareil LaMetric, afin de fournir des informations pertinentes de manière visible et conviviale.
224 -
225 - ### Erreurs Communes et Comment les Résoudre
226 -
227 - - **Erreur de Connexion à Home Assistant** : Assurez-vous que l'URL et le token de Home Assistant sont corrects. Vérifiez aussi que votre serveur Home Assistant est accessible depuis le réseau.
228 - - **Problèmes d'Authentification LaMetric** : Si les notifications ne sont pas envoyées, vérifiez les identifiants (utilisateur et mot de passe) pour l'accès à l'appareil LaMetric.
229 - - **Données de Capteurs Manquantes** : Vérifiez que les identifiants des capteurs dans `config.json` sont valides et que ces capteurs sont disponibles dans Home Assistant.
230 - - **Erreurs de Requête JSON** : Assurez-vous que le fichier `config.json` est bien formé. Utilisez `jq` pour vérifier la validité du fichier JSON.
231 - Assurez-vous de bien configurer le fichier `config.json` pour que les URL, les tokens et les identifiants correspondent à votre environnement.
232 -
233 - Pour toute question ou problème, consultez les documentations officielles de Home Assistant et de LaMetric, et vérifiez que vos informations d'authentification et de configuration sont correctement paramétrées.
234 -
235 -
236 219
237 220 ## Pour obtenir les tokens :
238 221

Erreur32's Avatar Erreur32 bu gisti düzenledi 2 years ago. Düzenlemeye git

1 file changed, 252 insertions

lametric_homeassisatnt_sh_doc.md(dosya oluşturuldu)

@@ -0,0 +1,252 @@
1 + # Documentation d'Utilisation du Script pour LaMetric et Home Assistant
2 +
3 + ## Introduction
4 +
5 + 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.
6 +
7 + ## Prérequis
8 +
9 + - Etre dans le même réseau local
10 + - Une machine linux
11 + - Un appareil LaMetric.
12 + - Une instance de Home Assistant.
13 + - Script bash
14 + - Un fichier de configuration JSON pour définir les paramètres nécessaires, à créer !.
15 + - `jq` pour manipuler les données JSON, `apt install jq`.
16 +
17 + ## Script bash
18 + ```bash
19 + #!/bin/bash
20 +
21 + # Emplacement du fichier de configuration
22 + CONFIG_PATH="/home/lametric/script/config.json"
23 +
24 + # Vérification si le fichier de configuration existe
25 + if [ ! -f "$CONFIG_PATH" ]; then
26 + echo "Erreur : le fichier de configuration '$CONFIG_PATH' est introuvable."
27 + exit 1
28 + fi
29 +
30 + # Charger la configuration depuis le fichier JSON
31 + HOME_ASSISTANT_URL=$(jq -r '.home_assistant_url' "$CONFIG_PATH")
32 + HOME_ASSISTANT_TOKEN=$(jq -r '.home_assistant_token' "$CONFIG_PATH")
33 + LAMETRIC_URL=$(jq -r '.lametric_url' "$CONFIG_PATH")
34 + LAMETRIC_USER=$(jq -r '.lametric_user' "$CONFIG_PATH")
35 + LAMETRIC_PASSWORD=$(jq -r '.lametric_password' "$CONFIG_PATH")
36 + SENSOR_ENTITY_IDS=($(jq -r '.sensor_entity_ids[]' "$CONFIG_PATH"))
37 +
38 + # Fonction pour récupérer les données de Home Assistant
39 + get_home_assistant_data() {
40 + response=$(curl -s -H "Authorization: Bearer $HOME_ASSISTANT_TOKEN" -H "Content-Type: application/json" "$HOME_ASSISTANT_URL")
41 + echo "$response"
42 + }
43 +
44 + # Fonction pour envoyer une notification à LaMetric
45 + send_notification_to_lametric() {
46 + local title="$1"
47 + local message="$2"
48 + local icon="$3"
49 +
50 + read -r -d '' data <<EOF
51 + {
52 + "model": {
53 + "frames": [
54 + {"text": "$title", "icon": "$icon"},
55 + {"text": "$message", "icon": "$icon"}
56 + ],
57 + "sound": {
58 + "category": "notifications",
59 + "id": "notification"
60 + }
61 + }
62 + }
63 + EOF
64 +
65 + curl -s -u "$LAMETRIC_USER:$LAMETRIC_PASSWORD" -H "Content-Type: application/json" -d "$data" "$LAMETRIC_URL"
66 + }
67 +
68 + # Intégration pour afficher les sensors de Home Assistant sur LaMetric
69 + update_lametric_with_sensor_data() {
70 + home_assistant_data=$(get_home_assistant_data)
71 + if [ -n "$home_assistant_data" ]; then
72 + for entity_id in "${SENSOR_ENTITY_IDS[@]}"; do
73 + sensor_data=$(echo "$home_assistant_data" | jq -c ".[] | select(.entity_id == \"$entity_id\")")
74 + if [ -n "$sensor_data" ]; then
75 + title=$(echo "$sensor_data" | jq -r ".attributes.friendly_name // \"$entity_id\"")
76 + state=$(echo "$sensor_data" | jq -r ".state")
77 + unit=$(echo "$sensor_data" | jq -r ".attributes.unit_of_measurement // \"\"")
78 + message="$state $unit"
79 + icon="3579" # Icône par défaut
80 + send_notification_to_lametric "$title" "$message" "$icon"
81 + fi
82 + done
83 + fi
84 + }
85 +
86 +
87 + # Exécution de la mise à jour des données
88 + update_lametric_with_sensor_data
89 +
90 +
91 + # Détails supplémentaires
92 + #
93 + # Configuration des notifications sur LaMetric :
94 + # - LaMetric permet d'afficher des informations via des "notifications" qui sont envoyées à l'appareil.
95 + # - Les notifications sont envoyées en utilisant une requête POST à l'URL de l'appareil LaMetric (LAMETRIC_URL).
96 + # - L'application peut être personnalisée avec différents "frames", chaque frame contenant du texte et une icône.
97 + #
98 + # Pour obtenir les tokens :
99 + # - Home Assistant : Crée un token depuis ton profil utilisateur dans Home Assistant https://homeassistant/profile/security.
100 + # - LaMetric : Récupérez la clef API sur https://developer.lametric.com/user/devices.
101 + #
102 + # Pour l'icône des notifications :
103 + # - 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 "a11100").
104 + # - https://developer.lametric.com/icons
105 + #
106 + #
107 + # Mise à jour des données toutes les 15 minutes via crontab
108 + # - Configuration du cron pour exécuter le script toutes les 15 minutes
109 + # */15 * * * * /chemin/vers/ce/script.sh
110 +
111 + ```
112 +
113 +
114 + ## Creation du fichier Configuration
115 +
116 + Avant d'exécuter le script, créez un fichier `config.json` à l'endroit approprié avec le contenu suivant :
117 +
118 + Pour créer le fichier de configuration `config.json` changez les `url` / `token` ET `/chemin/vers/ce/config.json`, utilisez la commande suivante :
119 +
120 + ```bash
121 + echo '{
122 + "home_assistant_url": "http://192.168.x.x:8123/api/states",
123 + "home_assistant_token": "...",
124 + "lametric_url": "http://192.168.x.x:8080/api/v2/device/notifications",
125 + "lametric_user": "dev",
126 + "lametric_password": "...",
127 + "sensor_entity_ids": [
128 + "sensor.station_temperature",
129 + "sensor.station_humidity",
130 + "sensor.system_monitor_load_1m",
131 + "sensor.smappee_1006002667_local_total_consumption_active_power",
132 + "sensor.system_monitor_disk_use"
133 + ],
134 + "sensor_custom_icons": {
135 + "sensor.station_temperature": "8044",
136 + "sensor.station_humidity": "2423"
137 + }
138 + }' > /chemin/vers/ce/config.json
139 + ```
140 +
141 + ### Fichier de Configuration : config.json
142 +
143 + 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 :
144 +
145 + Voici un exemple de ce fichier :
146 +
147 + ```json
148 + {
149 + "home_assistant_url": "http://192.168.x.x:8123/api/states",
150 + "home_assistant_token": "...",
151 + "lametric_url": "http://192.168.x.x:8080/api/v2/device/notifications",
152 + "lametric_user": "dev",
153 + "lametric_password": "...",
154 + "sensor_entity_ids": [
155 + "sensor.station_temperature",
156 + "sensor.station_humidity",
157 + "sensor.system_monitor_load_1m",
158 + "sensor.smappee_1006002667_local_total_consumption_active_power",
159 + "sensor.system_monitor_disk_use"
160 + ],
161 + "sensor_custom_icons": {
162 + "sensor.station_temperature": "8044",
163 + "sensor.station_humidity": "2423"
164 + }
165 + }
166 + ```
167 +
168 + ### Description des Champs
169 +
170 + - **home\_assistant\_url** : URL de l'API Home Assistant pour récupérer l'état des capteurs.
171 + - **home\_assistant\_token** : Jeton d'authentification pour accéder à Home Assistant.
172 + - **lametric\_url** : URL de l'appareil LaMetric pour envoyer des notifications.
173 + - **lametric\_user** et **lametric\_password** : Identifiants pour se connecter à l'appareil LaMetric.
174 + - **sensor\_entity\_ids** : Liste des capteurs de Home Assistant dont les données doivent être affichées.
175 + - **sensor\_custom\_icons** : (Facultatif) Définir des icônes personnalisées pour certains capteurs.
176 +
177 + ## Utilisation
178 +
179 + ### Lancement du Script
180 +
181 + Pour exécuter le script, assurez-vous qu'il est exécutable :
182 +
183 + ```bash
184 + chmod +x /chemin/vers/ce/script.sh
185 + ```
186 +
187 + Puis lancez le script avec la commande suivante :
188 +
189 + ```bash
190 + ./script.sh
191 + ```
192 +
193 + ### Configuration des Notifications sur LaMetric
194 +
195 + - Les notifications LaMetric sont envoyées via une requête POST.
196 + - Chaque notification contient des "frames", chaque frame peut être personnalisée avec du texte et une icône.
197 +
198 + ## Planification via Crontab
199 +
200 + Pour planifier la mise à jour automatique des données toutes les 15 minutes, ajoutez une tâche cron :
201 +
202 + ```bash
203 + crontab -e
204 + ```
205 +
206 + Ajoutez la ligne suivante :
207 +
208 + ```bash
209 + */15 * * * * /chemin/vers/ce/script.sh
210 + ```
211 +
212 + Cela exécutera le script toutes les 15 minutes.
213 +
214 + ## Points Importants
215 +
216 + - **Authentification Home Assistant** : Utilisez un token que vous pouvez générer depuis votre profil utilisateur dans Home Assistant, sous l'onglet "Sécurité".
217 + - **Icônes pour LaMetric** : Les icônes peuvent être trouvées sur [LaMetric Icon Gallery](https://developer.lametric.com/icons).
218 +
219 +
220 +
221 + ## Conclusion
222 +
223 + Ce script permet de facilement intégrer des capteurs de Home Assistant avec un appareil LaMetric, afin de fournir des informations pertinentes de manière visible et conviviale.
224 +
225 + ### Erreurs Communes et Comment les Résoudre
226 +
227 + - **Erreur de Connexion à Home Assistant** : Assurez-vous que l'URL et le token de Home Assistant sont corrects. Vérifiez aussi que votre serveur Home Assistant est accessible depuis le réseau.
228 + - **Problèmes d'Authentification LaMetric** : Si les notifications ne sont pas envoyées, vérifiez les identifiants (utilisateur et mot de passe) pour l'accès à l'appareil LaMetric.
229 + - **Données de Capteurs Manquantes** : Vérifiez que les identifiants des capteurs dans `config.json` sont valides et que ces capteurs sont disponibles dans Home Assistant.
230 + - **Erreurs de Requête JSON** : Assurez-vous que le fichier `config.json` est bien formé. Utilisez `jq` pour vérifier la validité du fichier JSON.
231 + Assurez-vous de bien configurer le fichier `config.json` pour que les URL, les tokens et les identifiants correspondent à votre environnement.
232 +
233 + Pour toute question ou problème, consultez les documentations officielles de Home Assistant et de LaMetric, et vérifiez que vos informations d'authentification et de configuration sont correctement paramétrées.
234 +
235 +
236 +
237 + ## Pour obtenir les tokens :
238 +
239 + \- Home Assistant : Crée un token depuis ton profil utilisateur dans Home Assistant
240 +
241 +   lien de votre Home Assistant:  https\://homeassistant/profile/security&#x20;
242 +
243 + \- LaMetric : Récupérez la clef API sur [https://developer.lametric.com/user/devices](https://developer.lametric.com/user/devices).
244 +
245 +
246 +
247 + ### Pour les icônes des notifications :
248 +
249 + \- 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").
250 +
251 +  - Toutes les icons :  [https://developer.lametric.com/icons](https://developer.lametric.com/icons)
252 +
Daha yeni Daha eski