micmacx Posté(e) le 8 décembre 2018 Partager Posté(e) le 8 décembre 2018 (modifié) Bonjour, Je me suis fait ma petite installation domotique sous Domoticz sur un Synology DS216J. J'ai acheté depuis peu des Ampoules connectés Xiaomi Yeelight qui peuvent être piloté par tcp/ip, Je précise que par domoticz (dans les interrupteurs )tout se commande normalement donc l'installe est complète et fonctionnelle, mais je voudrais pouvoir les piloter via un script Lua sous domotics que voici : commandArray = {} DomDevice = 'Yeelight'; IP = '192.168.0.20'; --Ici mettre l'adresse IP Fixe de votre Lampe/Ampoule PORT = '55443' if devicechanged[DomDevice]=='Off' then -- turn off runcommandoff = "sudo echo -ne '{"id":1,"method":"set_power", "params":["off", "smooth", 500]}\r\n' | nc -w1 " ..IP.." " ..PORT..""; os.execute(runcommandoff); print(runcommandoff) elseif devicechanged[DomDevice]=='Sunrise' then -- turn to sunrise from 0 to 100% on 15 minutes and keep bulb on runcommandsunrise = "sudo echo -ne '{"id":1,"method":"set_scene", "params":["cf",3,1,"50,1,16731136,1,360000,2,1700,10,540000,2,2700,100"]}\r\n' | nc -w1 " ..IP.." " ..PORT..""; os.execute(runcommandsunrise); print(runcommandsunrise) elseif devicechanged[DomDevice]=='SunSet' then -- turn to sunset from 100% to 0 on 15 minutes and turn bulb off runcommandsunset = "sudo echo -ne '{"id":1,"method":"set_scene", "params":["cf",3,2,"50,2,2700,10,180000,2,1700,5,420000,1,16731136,1"]}\r\n' | nc -w1 " ..IP.." " ..PORT..""; os.execute(runcommandsunset); print(runcommandsunset) end return commandArray Voyant que ça ne fonctionne pas, j'ai essayé directement via putty, ce qui m'a donné ça en retour : -sh: nc: command not found Linux n'étant pas ma spécialité, j'ai cherché sur le net et j'ai compris que netcat n'est pas installé sur synology. Après pas mal des recherches et testes, je n'ai pas trouvé les fichiers nécessaires à l'installation de netcat pour DS216J, j'ai cherché après des commandes équivalentes et je n'ai rien trouvé. 😞 J'ai quand même essayé de me connecter à une yeelight en telnet via putty et envoyé une commande : {"id":1,"method":"set_power", "params":["off", "smooth", 500]} //Eteint la Yeelight {"id":1,"method":"set_power", "params":["on", "smooth", 500]} //Allume la Yeelight Et la Yeelight s'est allumé et éteinte. 🙂 Est-ce que quelqu'un connaîtrait un bon tuto pour installer netcat ou quelque chose qui pourrait faire la même fonction??? ou encore mieux, une commande déjà intégré dans un synology. 🙂 Merci d'avance pour vos futures réponses et à bientôt. 🙂 Modifié le 8 décembre 2018 par micmacx 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
micmacx Posté(e) le 11 décembre 2018 Auteur Partager Posté(e) le 11 décembre 2018 (modifié) Bonjour, Je vais m'auto-répondre : Pour installer netcat, c'est fait en suivant ce tuto, opkg puis netcat : https://www.codebuilder.fr/blog/installer-ipkg-opkg-java-8-serposcope-nas-synology-dsm-5-6/ Maintenant en me connectant à mon syno par putty avec mon pseudo admin, ça fonctionne, avec la commande "netcat" mais pas "nc", et toujours pas par le script. Au passage j'ai un peu changé le script et maintenant je n'ai plus aucune erreur dans domoticz : commandArray = {} DomDevice = 'Yeelight'; if devicechanged[DomDevice]=='Off' then -- turn off runcommandoff = "sudo echo -ne '{\"id\":1,\"method\":\"set_power\", \"params\":[\"off\", \"smooth\", 500]}\\r\\n' | netcat -w1 192.168.0.20 55443"; os.execute(runcommandoff); print(runcommandoff) elseif devicechanged[DomDevice]=='On' then -- turn off runcommandon = "sudo echo -ne '{\"id\":1,\"method\":\"set_power\", \"params\":[\"on\", \"smooth\", 500]}\\r\\n' | netcat -w1 192.168.0.20 55443"; os.execute(runcommandon); print(runcommandon) end return commandArray Je pense que ça doit être une question de droits. Maintenant, comment faire pour changer ces droits pour que domoticz via les scripts lua puisse lancer ces commandes??? Merci d'avance pour vos futures réponses (si il y a) et à bientôt. 🙂 🙂 🙂 Modifié le 11 décembre 2018 par micmacx 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.