[Tuto] Etat des périphériques au redémarrage
Publié : 06 avr. 2015, 18:50
Bonjour à tous
Je vous donne ici un script python dont la tache est de passer les périphériques à un état déterminé et défini dans le script lui même.
Seuls les switches sont concernés par ce script.
La technique conseillée en Lua d'envoyer le dernier état à tous les périphériques, .
quoique rapide et efficace, entraîne le plantage des capteurs Z-wave ( présence, inondation) qui voient arriver une trame qu'ils ne comprennent pas et le capteur décroche "2015-04-04 10:11:03.801 Error: OpenZWave: Internal Node ValueID not found! NodeID: 9 (0x09), instanceID: 0"
Une discussion à eu lieu dans le forum à ce sujet viewtopic.php?p=3394#p3331
Depuis la suppression de ce script Lua mon capteur est revenu à la vie et j'ai arrété de maudire le z_wave
J'ai donc fait un bout de script python pour passer des périphériques précis dans un état précis.
Plus de trucs à la hache, un peu de finesse quoi!.
En ce qui me concerne ayant mis en place un script de surveillance du fonctionnement de Domoticz comme celui ci
je rajoute juste avant le fi final , un petit sleep (10) pour laisser à Domoticz le temps de démarrer puis l'appel du script ci dessous et à chaque redemarrage de Domoticz, on repart tout propre.
Les prérequis :
Le script est téléchargeable ici http://easydomoticz.com/scripts/clean_start.py
Comme d'hab, python,request sont obligatoires.
Configurer :
Les Ip, port
Il y a un mode debug qui affiche des urls envoyées à Domoticz si on passe debug à 1
Les user/password éventuels
Il faut récupérer la liste des idx à piloter et l'etat souhaité et modifier le script pour vos periphériques.
En haut du script il y a un bloc qui permettra de mettre vos idx Domoticz et l'etat souhaité
Un chmod +x le nom du script
un ./lenomduscript.py pour verifier que tout fonctionne
et si c'est le cas, implantez le soit à la fin du init.d/domoticz avec un sleep(X)
soit dans le script de surveillance comme expliqué plus haut.
Voila affaire à suivre (ou pas)
Mais le "ou pas" aurait ma préférence !
Je vous donne ici un script python dont la tache est de passer les périphériques à un état déterminé et défini dans le script lui même.
Seuls les switches sont concernés par ce script.
La technique conseillée en Lua d'envoyer le dernier état à tous les périphériques, .
Code : Tout sélectionner
for i, v in pairs(otherdevices) do
print(i, v)
commandArray[i]=v
Une discussion à eu lieu dans le forum à ce sujet viewtopic.php?p=3394#p3331
Depuis la suppression de ce script Lua mon capteur est revenu à la vie et j'ai arrété de maudire le z_wave
J'ai donc fait un bout de script python pour passer des périphériques précis dans un état précis.
Plus de trucs à la hache, un peu de finesse quoi!.
En ce qui me concerne ayant mis en place un script de surveillance du fonctionnement de Domoticz comme celui ci
Code : Tout sélectionner
#!/bin/bash
if [[ ! "$(sudo service domoticz.sh status)" =~ "domoticz is running" ]]
then
sudo service domoticz.sh start
echo "domoticz restarted">>crash_dz.log
fi
Code : Tout sélectionner
#!/bin/bash
if [[ ! "$(sudo service domoticz.sh status)" =~ "domoticz is running" ]]
then
sudo service domoticz.sh start
echo "domoticz restarted">>crash_dz.log
sleep(10)
/home/pi/scripts/python/clean_start.py
fi
Les prérequis :
Le script est téléchargeable ici http://easydomoticz.com/scripts/clean_start.py
Comme d'hab, python,request sont obligatoires.
Configurer :
Les Ip, port
Il y a un mode debug qui affiche des urls envoyées à Domoticz si on passe debug à 1
Les user/password éventuels
Il faut récupérer la liste des idx à piloter et l'etat souhaité et modifier le script pour vos periphériques.
En haut du script il y a un bloc qui permettra de mettre vos idx Domoticz et l'etat souhaité
Code : Tout sélectionner
############### Parametres des equipments #######################
# chaque idx des peripheriques a allumer/eteindre et l'etat voulu
# attention aux idx et à l etat SVP
liste={'112':'On',
'78':'Off',
}
################################################################
Un chmod +x le nom du script
un ./lenomduscript.py pour verifier que tout fonctionne
et si c'est le cas, implantez le soit à la fin du init.d/domoticz avec un sleep(X)
soit dans le script de surveillance comme expliqué plus haut.
Voila affaire à suivre (ou pas)
Mais le "ou pas" aurait ma préférence !