Merci bernard62
je l'ai testé en ligne de commande, ca fonctionne bien.
Pour automatiser la publication tu fais comment ? un cron ? quel interval ?
Je suis parti faire un intervalle de 5 secondes.
j'ai essayé 2 méthodes :
la méthode de la boucle dans le fichier batch me semble pas terrible, mais elle fonctionne
L'autre c'est la fonction Watch qui semble sympa, néanmoins la valeur de la puissance sur le MQTT ne change pas malgré la publication de nouveaux topics
je l'ai testé en ligne de commande, ca fonctionne bien.

Pour automatiser la publication tu fais comment ? un cron ? quel interval ?
Code :
mosquitto_sub -h 192.168.0.9 -t "zigbee/Energie" -C 1
{"ac_frequency":50,"current":19.15,"current_a":8.366,"current_b":2.279,"current_c":8.33,"device_status":0,"energy":5928.22,"energy_a":2946.315,"energy_b":999.489,"energy_c":1982.432,"last_seen":"2024-11-12T10:22:22.314Z","linkquality":131,"power":4070,"power_a":1732,"power_b":486,"power_c":1900,"power_factor_a":86,"power_factor_b":90,"power_factor_c":96,"temperature":22.4,"voltage_a":237.2,"voltage_b":237,"voltage_c":237.1}
$(echo $var8 | cut -d ',' -f 14)
-bash: "power_a":1721: command not found
$(echo $part1 | cut -d ':' -f 2)
-bash: 1721: command not found
mosquitto_pub -h 192.168.0.9 -t PuissanceMaison -m {'"Pw"':${watt}}
Je suis parti faire un intervalle de 5 secondes.
j'ai essayé 2 méthodes :
la méthode de la boucle dans le fichier batch me semble pas terrible, mais elle fonctionne
Code :
#!/bin/bash
while true ; do
#subscription MQTT du mesureur d energie
varpa=$(mosquitto_sub -h 192.168.0.9 -t "zigbee/Energie" -C 1 )
#extration du champ 14 puissance a
pa1=$(echo $varpa | cut -d ',' -f 14)
watt=$(echo $pa1 | cut -d ':' -f 2)
mosquitto_pub -h 192.168.0.9 -t PuissanceMaison -m {'"Pw"':${watt}}
sleep 5
done
L'autre c'est la fonction Watch qui semble sympa, néanmoins la valeur de la puissance sur le MQTT ne change pas malgré la publication de nouveaux topics

Code :
watch -n 5 ./routeur.sh