Cette période de confinement prolongé a été l'occasion de revenir sur le script 4G Box.denis_brasseur a écrit : 29 avr. 2019, 18:25Effectivement, on ajoutant print(client.device.information()), l'IP ne remonte pas.denis_brasseur a écrit : 27 avr. 2019, 19:40
Impossible de récupérer WanIPAddress.
Idem pour rssi, pas de message d'erreur, mails le device ne se met pas à jour, alors que l'heure du device se met bien à jour.
En ce qui concerne rssi, la valeur retournée est celle ci :
'rssi': '>=-51dBm'
J'ai donc modifié str(signal["rssi"])en str(signal["rssi"][5:])Code : Tout sélectionner
requests.get(domoticz+"/json.htm?type=command¶m=udevice&idx="+str(idxs[types.index(0)])+"&nvalue=0&svalue="+str(signal["rssi"]))afin de ne conserver que les caracteres a partir du 5eme. Et cela fonctionne.Code : Tout sélectionner
requests.get(domoticz+"/json.htm?type=command¶m=udevice&idx="+str(idxs[types.index(0)])+"&nvalue=0&svalue="+str(signal["rssi"][5:]))
Par contre, impossible d’exécuter le script depuis crontab, pas de mise à jour des device et rien dans les log, alors que la commande dans la console met à jour et alimente les logs.J'ai loupé un truc ?Code : Tout sélectionner
*/15 * * * * /usr/bin/python3 /home/pi/domoticz/scripts/python/4gbox.py >> /home/pi/domoticz/4gbox.log
J'avais 3 problèmes différents :
Impossible de récupérer WanIPAddress.
J'ai pour cela utilisé
client.monitoring.status() au lieu de client.device.information()
Code : Tout sélectionner
wanIP = client.monitoring.status()["WanIPAddress"]En ce qui concerne la valeur de rssi qui remontait comme ceci : >=-51dBm (>=-51dBm)
j'ai utilisé'rssi': '>=-51dBm'
Code : Tout sélectionner
rssi=signal["rssi"].lstrip('>=')et cela fonctionne.
Pour ce qui concerne l’exécution du script depuis cron, j'avais déjà trouvé la solution de passer par un script 4gbox.sh
Code : Tout sélectionner
#!/bin/sh
python3 /home/pi/domoticz/scripts/python/gbox.py
exit 0Code : Tout sélectionner
*/15 * * * * pi /home/pi/domoticz/4gbox.sh >> /home/pi/domoticz/4gbox.log