Aller au contenu

Commande netcat mais sur synology DS216J


micmacx

Messages recommandés

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é par micmacx
Lien vers le commentaire
Partager sur d’autres sites

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é par micmacx
Lien vers le commentaire
Partager sur d’autres sites

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.