fel-x Posté(e) le 11 octobre 2019 Signaler Posté(e) le 11 octobre 2019 (modifié) Salut, j'ai trouvé la solution à ma propre question posée là : Le sujet étant fermé... j'ouvre celui-ci pour donner la réponse. Il est donc possible d'envoyer une valeur à un module virtuel sur HCL ! Imaginons que la HCL ait l'IP 192.168.1.33 et que le login soit moi@maison.net et le mot de passe soit TopSecret , que le module virtuel ait l'ID 123 et que son étiquette soit le Label1 et que je souhaite lui faire afficher "46 kWh" ! Il faut donc envoyer la commande suivante (notez bien que le %20 permet d'obtenir un espace) : curl --user moi@maison.net:TopSecret 'http://192.168.1.33:11111/api/callAction?deviceID=123&name=setProperty&arg1=ui.Label1.value&arg2=46%20kWh' Bon moi je voulais que le chiffre soit dynamique, je l'ai donc mis dans une variable $production et j'ai une requête SQL qui donne la valeur de $production , ce qui me donne : curl --user moi@maison.net:TopSecret 'http://192.168.1.33:11111/api/callAction?deviceID=123&name=setProperty&arg1=ui.Label1.value&arg2='$production'%20kWh' Et forcément j'ai une crontab qui fait tourner ce script toutes les 5 minutes Résultat : CQFD Modifié le 11 octobre 2019 par fel-x correction image 2
fel-x Posté(e) le 12 octobre 2019 Auteur Signaler Posté(e) le 12 octobre 2019 (modifié) Allez pour la route un bel exemple de ce qui est faisable pour surveiller un Raspberry : D'abord un petit module virtuel (disons qu'il a l'ID 321) que je nomme "Raspberry Pi" (et une jolie icône au passage) auquel j'ajoute 3 étiquettes : "En ligne", "Libre" et "CPU" dont les ID respectifs sont Raspi1, Raspi2 et Raspi3. Puis le code dans un script SHELL : (notez que les espaces ne passent pas dans les variables, il y a donc plusieurs variables et j'emploie %20 dans les arguments) #!/bin/bash ## Calcul du UPTIME let upSeconds="$(/usr/bin/cut -d. -f1 /proc/uptime)" let mins=$((${upSeconds}/60%60)) let hours=$((${upSeconds}/3600%24)) let days=$((${upSeconds}/86400)) jours=$(printf "%dj" "$days") heures=$(printf "%02dh" "$hours") minutes=$(printf "%02dm" "$mins") curl --user email@domaine.com:motdepasse 'http://192.168.x.x:11111/api/callAction?deviceID=321&name=setProperty&arg1=ui.Raspi1.value&arg2='$jours'%20'$heures'%20'$minutes'' > /dev/null 2>&1 ## Calcul de l'espace libre free_space=$(df -Ph | grep -E '^/dev/root' | awk '{ print $4 }') total_space=$(df -Ph | grep -E '^/dev/root' | awk '{ print $2 }') pi_espace_libre=$(echo $free_space) pi_espace_total=$(echo $total_space) curl --user email@domaine.com:motdepasse 'http://192.168.x.x:11111/api/callAction?deviceID=321&name=setProperty&arg1=ui.Raspi2.value&arg2='$pi_espace_libre'%20sur%20'$pi_espace_total'' > /dev/null 2>&1 ## Calcul de la température du CPU cpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp) cpuTemp1=$(($cpuTemp0/1000)) cpuTemp2=$(($cpuTemp0/100)) cpuTempM=$(($cpuTemp2 % $cpuTemp1)) pi_CPU_temp=$(echo $cpuTemp1"."$cpuTempM"ºC") curl --user email@domaine.com:motdepasse 'http://192.168.x.x:11111/api/callAction?deviceID=321&name=setProperty&arg1=ui.Raspi3.value&arg2='$pi_CPU_temp'' > /dev/null 2>&1 Et le joli résultat : Bref, ça ouvre pas mal de possibilités Si vous avez des bonnes idées, je suis preneur ! Modifié le 12 octobre 2019 par fel-x
jojo Posté(e) le 12 octobre 2019 Signaler Posté(e) le 12 octobre 2019 tu va finir par faire faire des choses aussi complètes avec ta HCL, qu'avec une HC2 ...
fel-x Posté(e) le 12 octobre 2019 Auteur Signaler Posté(e) le 12 octobre 2019 (modifié) @jojo en effet c'est l'esprit... Je suis convaincu qu'il est préférable de se creuser la cervelle plutôt que le portefeuille. J'ai trouvé qu'il existe un moteur LUA sur unix alors éventuellement on peut trouver une solution à tout pour la HCL... Mais bon c'est un hobbie hein ! j'ai aussi un vrai job !!! Modifié le 12 octobre 2019 par fel-x
Messages recommandés