J'ai une gateway Xiaomi ainsi que des capteurs de mouvements aqara et j'utilise Domoticz pour controler l'allumage d'ampoules Xiaomi Philips.
Je pense avoir un problème de porté wifi (que je résoudrais plus tard) qui doit etre à l'origine de la non-exécution de commandes d'allumage/extinction:
je vois bien les switchs dans domoticz passer en "On", mais parfois rien ne bouge.
J'ai donc souhaiter mettre en place une vérification du statut de ces ampoules via un script bash lancer depuis un Évènement lua, afin de relancer la commande si le statut de l'ampoule n'a pas changé.J'ai donc créé un script bash (que j'ai découvert grâce à vous
Code : Tout sélectionner
#!/bin/bash
if [ $1 = tv ]; then
status=$(php miio-cli.php --ip AdresseDeLampoule --token IciMaCléToken --sendcmd '{"id":1,"method":"get_prop","params":["power"]}')
resultat=$(grep -o off <<<$status)
if [ "$resultat" = off ]; then
curl 'http://ID:PASSWD@IP:Port/json.htm?type=command¶m=switchlight&idx=62&switchcmd=Off&level=0&passcode='
else
curl 'http://ID:PASSWD@IP:Port/json.htm?type=command¶m=switchlight&idx=62&switchcmd=On&level=0&passcode='
fi
fi
Quand je l’exécute dans le terminal de mon RPI3 tout fonctionne à merveille.
J'ai essayé plusieurs scripts Lua de ce type et le dummy switch passe en On et jamais en Off.
J'avoue ne pas comprendre.
Code : Tout sélectionner
commandArray = {}
if devicechanged['lampe tv'] == 'Off' then
os.execute('//home/osmc/domoticz/scripts/php-miio-master/status.sh tv')
elseif devicechanged['lampe tv'] == 'On' then
os.execute('//home/osmc/domoticz/scripts/php-miio-master/status.sh tv')
end
return commandArray
Ayant perdu pas mal d'heures pour une connerie pareille (madame trouve que d'appuyer sur l'interrupteur est moins problématique, personnellement je trouve ça moins fun...)... du coup si quelqu'un pouvait m'eclairer ça serait bien sympa =)
Au plaisir de vous lire