pilou87 Posté(e) le 8 septembre 2022 Signaler Posté(e) le 8 septembre 2022 Une question pour envoyer des commande à un projecteur MITSUBISHI Sur ma HC2 cela fonctionné ----- local tcpSocket = Net.FTcpSocket("192.168.1.5", 4352); tcpSocket:setReadTimeout(350); tcpSocket:write("%1POWR 1"); sur ma HC3 rien ne fonctionne --- -- Generic device type have no default actions to handle -- Allume projecteur function QuickApp:onInit() self:debug("Allumage projecteur demandé") self:allumeProjecteur() end function QuickApp:allumeProjecteur() self.sock = net.TCPSocket() self.sock:connect("192.168.1.5", 4352, { success = function() self:debug("Vidéo-projecteur connecté") self:debug("Envoi commande allumage") self:send("%1POWR 1") self.sock:close() -- socket closed end, error = function(message) self:debug("connection error:", message) end, }) end function QuickApp:send(strToSend) self:debug("data sent: "..strToSend) self.sock:write(strToSend, { success = function() -- the function that will be triggered when the data is correctly sent self:debug("data sent") end, error = function(err) -- the function that will be triggered in the event of an error in data transmission self:debug("error while sending data") end }) end ---- J'ai un retour qui me dit : ERROR WHILE SENDING DATA Quelqu'un peux-t-il m'aider. D'avance merci
pilou87 Posté(e) le 8 septembre 2022 Auteur Signaler Posté(e) le 8 septembre 2022 Re-bonjour, je viens de trouver c'est un problème de timeout car l'ordre de fermeture self.sock:close() -- socket closed est à proscrire car ce type d'appareil ne dispose pas en général d'un buffer pour tamponner l'envoi des caractères et l'ordre de fermeture est instantané. Pour ceux qui possède un vidéo-projecteur, cela peux les aider.
Barelle Posté(e) le 8 septembre 2022 Signaler Posté(e) le 8 septembre 2022 En fait, le self.sock:close() -- socket closed devrait être dans la fonction success de la fonction QuickApp:send(strToSend) Autrement dit, après l'envoi...
pilou87 Posté(e) le 8 septembre 2022 Auteur Signaler Posté(e) le 8 septembre 2022 Excellente remarque. Du coup je l'ai purement supprimé et cela fonctionne. Je vais re-tester de cette manière, c'est plus propre. Je profite du post pour poser une question bête, mais je découvre les QA. Dans les scénarios comment lancer un QA, considéré comme un appareil d'ailleurs... Je débute la-dessus et il y a surement quelque chose que je n'ai pas vu. Merci
Lazer Posté(e) le 8 septembre 2022 Signaler Posté(e) le 8 septembre 2022 On ne lance pas un QA, celui-ci se lance automatiquement à chaque boot de la box ou sauvegarde du QA (après modif) Tu peux lancer l'exécution d'une fonction d'un QuickApp, avec fibaro.call() Voire chapitre Mapping actions to methods : https://manuals.fibaro.com/home-center-3-quick-apps/ ça me fait penser qu'il faudrait que je partage mon QuickApp pour vidéoprojecteurs Epson, mais pas sûr qu'il intéresse grand monde... 1
pilou87 Posté(e) le 9 septembre 2022 Auteur Signaler Posté(e) le 9 septembre 2022 Merci Lazer, je crois que comme moi tu es un des plus anciens à t'être intéresser à Fibaro, cela me fait plaisir d'avoir eu une petite réponse. Toujours aussi réactif... 10 ans plus tard... on vieillit Je viens enfin de piger le nouveau mode de pensée des QA et comme tu l'as dit dans un post c'est quand même plus moderne que les boutons des plugins HC2. Bonne journée.
Lazer Posté(e) le 9 septembre 2022 Signaler Posté(e) le 9 septembre 2022 On va faire un club, une réunion, des vieux de la vieille anonymes
Messages recommandés