Maxdunhill Posté(e) le 30 novembre 2015 Signaler Posté(e) le 30 novembre 2015 Bonjour, je suis intégrateur domotique et j'interviens sur de nombreuse box et la HC2 est une des box que je propose fréquemment... Voici mon cas d'école, le modo peux changer le sujet dans la section la plus pertinente. je souhaite envoyer des commande tcp sur une interface eNet Gira ou Jung pour ne pas les citer donc après un gros travail de reverse ing, je connais les commandes et le port utilisé, soit 9050 j'ai déjà envoyé les commande par putty en raw, elles sont accepter et exécuter par le controleur, par contre dans un module virtuel avec le script ci-dessous pas de réponse et pas d’interprétation du contrôleur eNet... code lua dans le bouton On du périphérique virtuel: tcpSocket = Net.FTcpSocket("192.168.1.30", 9050); tcpSocket:setReadTimeout(2000); local commande ='{\"PROTOCOL\":\"1.8\",\"TIMESTAMP\":\"1448636693\",\"CMD\":\"VERSION_REQ\"}\r\n\r\n'; fibaro:debug(commande); tcpSocket:write(commande); -- state = str(tcpSocket.recv(1024),'test'); state = tcpSocket:read(); fibaro:debug("len: " .. string.len(tostring(state))); fibaro:debug(state); Dans le debug la commande est exactement la même que celle utiliser dans putty en raw... Merci pour vos réponses et votre aide. Philippe Citer
mprinfo Posté(e) le 30 novembre 2015 Signaler Posté(e) le 30 novembre 2015 local login = "admin" local password = "pwd" -- System variables local selfID = fibaro:getSelfId() local ip = fibaro:get(selfID, 'IPAddress') local port = fibaro:get(selfID, 'TCPPort') local Synology = Net.FHttp(ip, tonumber(port)) payload = "/webapi/query.cgi?api=SYNO.API.Info&method=Query&version=1&query=SYNO.API.Auth" response, status, errorCode = Synology:GET(payload) voici un exemple j'utilise cela pour un syno, ip et port sont récuperer dans le vd Citer
Maxdunhill Posté(e) le 30 novembre 2015 Auteur Signaler Posté(e) le 30 novembre 2015 Merci pour ta réponse je pense que ton exemple est pour une requête vers une API en http... malheureusement je dois communiquer avec la passerelle eNet en TCP... cf cela fonction en Raw putty.Mais je me demande si en utilisant la commande Net.FTcpSocket il ne faut pas accepter le socket de l'autre coté alors que putty en raw il ne demande pas d'autorisation... P.S tu fait comment pour mettre ton code comme dans l'interface HC2? Citer
mprinfo Posté(e) le 30 novembre 2015 Signaler Posté(e) le 30 novembre 2015 Tu utilises <> dans l'éditeur Envoyé de mon SM-G900F en utilisant Tapatalk 1 Citer
Yohan Posté(e) le 30 novembre 2015 Signaler Posté(e) le 30 novembre 2015 Bonjour et bienvenue sur le forum. Afin de bien utiliser le forum, merci de prendre quelques minutes pour lire : Les règles du forum Utilisation de la fonction "Citation" Bonne lecture et bon surf sur Domotique-Fibaro.fr 1 Citer
Maxdunhill Posté(e) le 1 décembre 2015 Auteur Signaler Posté(e) le 1 décembre 2015 Bonjour, Il faut que je repost la question dans quelle section pour que les gourous de la programmation lua puissent se pencher sur mon problème ? Citer
Messages recommandés