Aller au contenu

BenjyNet

Membres confirmés
  • Compteur de contenus

    5 384
  • Inscription

  • Dernière visite

  • Jours gagnés

    80

Tout ce qui a été posté par BenjyNet

  1. Bon je dois être fatigué mais je trouve pas pourquoi je reste bloqué sur ma boucle qui regarde si la réponse est conforme àce que j'attends. Une idée ? fibaro:debug('Start process ON/OFF v1.0.1'); fibaro:log('Try to turn ON/OFF'); local _deviceIp = fibaro:get(fibaro:getSelfId(), "IPAddress"); local _devicePort = fibaro:get(fibaro:getSelfId(), "TCPPort"); local _maxRetryProcess = 5; local function _checkPowerState(retry) retry = retry or 0; --notify user fibaro:debug("Request Power status, #" .. retry .. " please wait..."); --send packet bytes, errorCode = _tcpSocket:write("ISCP\0\0\0\16\0\0\0\11\1\0\0\0!1PWRQSTN\r"); -- check for error if errorCode == 0 then fibaro:debug("Power status command successufully transmited."); -- amplifier sould return the string sent if success local result = _tcpSocket:read(); local cmd_value = string.sub(result, 22,23) -- check if result is equal than command to confirm success fibaro:debug("Check result of command : " .. cmd_value); if ((tonumber(cmd_value) ~= 0 or tonumber(cmd_value) ~= 1) and retry < _maxRetryProcess) then --<- je sus bloqué ici fibaro:sleep(1000); return _checkPowerState(retry + 1); else return nil end return tonumber(cmd_value); else if retry < _maxRetryProcess then fibaro:debug("Retry process, please wait..."); fibaro:sleep(2000); return _checkPowerState(retry + 1); end return nil; end end --open a local socket _tcpSocket = Net.FTcpSocket(_deviceIp, _devicePort); --set the read timeout _tcpSocket:setReadTimeout(250); local f, result = pcall(_checkPowerState); -- close socket _tcpSocket:disconnect(); -- destroy object _tcpSocket = nil; if (f) then if (result ~= nil) then fibaro:debug(result); if (result == 0) then fibaro:sleep(1000); fibaro:call(fibaro:getSelfId(), "pressButton", 2); fibaro:debug("Power is Off, try to turn On"); elseif (result == 1) then fibaro:sleep(1000); fibaro:call(fibaro:getSelfId(), "pressButton", 3); fibaro:debug("Power is On, try to turn Off"); end else fibaro:debug("Cannot send command!"); end else fibaro:debug("Error: " .. f); end
  2. Oui je pense que l'extension n'est pas valide. C'est un .vfib, il faut peut être l'autorisée dans les fichiers rattachables.
  3. Oui je trouve ce projet très intéressant mais je pense inadapté à mon style de vie. Je m'explique, j'ai 2 enfants et une femme, tous plus bruyant les uns que les autres. Je me vois alors mal passer des commandes vocales, j'ai aussi vite fait d'appuyer sur un bouton. Après je sais pas, il faudrait pouvoir tester... mais j'ai pas envie d'acheter du matos pour m'apercevoir que je ne l'utiliserais peut être pas. Par contre quand j'étais célibataire ça aurait été la classe quand je ramenais les donzelles à la maison... : "S.A.R.A.H passe la maison en mode romantique"
  4. Il n'y a rien d'urgent Krikroff... moi ce qui m'agace le plus c'est de ne pas trouver la solution. J'aime pas avoir un problème et ne pas pouvoir le résoudre. Si tu veux voir comment réagit le telnet sur l'ampli il faudra que je te file la main sur l'ordi, parce qu'en fait il envoie plein de données tout le temps. J'ai récupéré une appli chrome qui a une fenêtre debug, ça permet de voir les échanges entre l'ampli et l'appli et c'est dingue tout ce qu'il y a comme transfert. Je ne vois vraiment pas comment traiter toutes ces infos. Merci de ton aide en tout cas.
  5. Mouais :/ Bah non ça marche pas. L'ampli envoie pleins de données et j'ai l'impression que ça se mélange les pinceaux (enfin pas de son côté, lui il sait ce qu'il fait ). J'arrive à le piloter c'est déjà pas mal.
  6. Le fibaro:debug me sortait uniquement le début de la chaîne qui est constituée de cette sorte : "ISCP\0\0\0\16\0\0\0\11\1\0\0\0!1COMMAND\r" (à la place de COMMAND tu mets ce qui est dans le fichier excel). J'avais donc "ISCP" qui s'affichait et c'est tout. Alors j'ai ouvert en même temps un telnet sur l'ampli qui affiche à chaque fois les commandes reçues/envoyées. Moi je pense que le retour est de la même forme et donc pour récupérer l'info intéressante il faudrait récupérer entre ! et \r Si je prends l'exemple de l'allumage, pour l'interroger et connaître l'état, il faut faire : "ISCP\0\0\0\16\0\0\0\11\1\0\0\0!1PWRQSTN\r" Ce qui retourne "ISCP\0\0\0\16\0\0\0\11\1\0\0\0!1PWR01\r" si allumé ou "ISCP\0\0\0\16\0\0\0\11\1\0\0\0!1PWR00\r" si éteint. Donc je récupère que l'information à la 22eme et 23eme position soit 00 ou 01 (je pense même que seule la 23 position est utile). Par contre ce qui m’étonne, d'après le document (et ce que j'ai pu observer sur le terminal), lorsque j'envoie une commande pour allumer l'ampli genre "ISCP\0\0\0\9\0\0\0\11\1\0\0\0!1PWR01\r" je devrai avoir en retour la même chaîne et ça n'a pas l'air d'être le cas car j'ai rien en position 22/23. C'est con qu'on n'ai pas de terminal pour voir l'état des variables en brut.
  7. Oh yeah, bon j'ai trouvé pour récupérer les infos qui m'intéresse comme par exemple savoir si l'ampli était connecté ou pas. Il faut faire sur le retour un string.sub(result, 22, 23) Bon ok tout le monde s'en fout, je parle à moi-même mais c'est pas grave Dès que j'ai quelque chose de concluant et que tout fonctionne je post le VD ici (si Yohan a fait son job !). Edit: Il faut aussi que je pense à clore le socket parce qu'en faisant pleins de tests là , l'ampli il sait plus où il habite !
  8. Bon j'avance un peu... Effectivement le tcpsocket.read renvoie une chaine qui est mal interprétée si on l'affiche directement, on ne voit que l'entête ISCP. J'ai tenté de faire un string.gsub(result, "%A", ".") histoire de voir si j'obtenais quelque chose et effectivement le message change. Donc c'est bien dans la récupération de cette variable que ça merdouille mais je ne suis pas assez calé en traitement des strings/variables pour obtenir quelque chose de correct. Je continue mes tests, je vais bien finir par trouver quand même !
  9. Yohan est-ce que tu pourrais permettre l'upload des pièces jointes pour les fichiers VirtualDevice ?
  10. Salut hometomatik. @Shad Toi tu me fais marrer
  11. Bon alors voilà où j'en suis Faut pas le dire hein, mais j'ai pompé sur Krikroff Le VD marche très bien, le numéro du slider correspond au numéro de volume sur l'ampli (au dessus de 75 l'ampli est à fond alors attention, si vous ne voulez pas détériorer vos enceintes dans les paramètres de l'ampli fixez un volume maximum genre 50). Seul hic, c'est unidirectionnel, je n'ai pas le retour d'état de l'ampli et j'ai beau m'interroger sur le problème, je ne vois pas d'où ça vient. Normalement avec tcpsocket:read() je devrais l'obtenir non ? Parce que sinon j'ai toujours en réponse d'une commande : "ISCP" ; alors que d'après le document il devrait renvoyer le message complet (je pense qu'il ignore ce qui est après \). Onkyo_TX-NR626_v1.0.vfib
  12. Bon je me réponds àmoi-même pour l'adresse IP et le Port, j'avais pas vu que tu récupérais ça sur le virtualdevice. J'ai rien dit
  13. Bon, miam miam ça marche comme je le veux mais j'ai pas de retour d'état. Est-ce que tu pourrais m'en dire plus làdessus JC pour pouvoir récupérer les infos (je connais la commande àenvoyer en ISCP). Si tu regardes dans le fichier excel, dans l'onglet communication il parle de la réponse de l'ampli dans les 50ms après l'envoie de la commande. C'est cette info que j'aimerai récupérer. J'aurai voulu aussi ne pas mettre en dur dans chaque bouton l'IP et le port de l'ampli. J'ai regardé comment t'avais fait mais j'ai rien compris. Faut-il fixer 2 variables globales ? Merci par avance
  14. Ahah, on doit avoir des connexions neuronales JC. J'étais hier soir sur le sujet du forum, je suis allé me coucher en pensant bosser ça today. Je me lève ce matin et que vois-je ? Ton message... j'ai bien ri
  15. Super... la même chose pour Onkyo ? Je regarde un peu ton code, histoire de voir si j'y comprends quelque chose
  16. BenjyNet

    Bouton "slider"

    Oh con... alors là , ça me dépasse...
  17. BenjyNet

    Chauffe

    Moi aussi elle chaude... mais pas bouillante !
  18. Heu... c'est plutôt celui là Avec le bypass en parallèle de l'ampoule (sinon c'est noel avant l'heure, j'ai testé !)
  19. BenjyNet

    Successeur au HC2???

    Le HC2 est un PC sous ATOM. Je ne l'ai pas ouvert mais je suis sur qu'il doit y avoir àl'intérieur une carte d'extension pour le zwave, genre un truc sur le port PCI. Certainement que c'est développé par eux d'ailleurs et je suis persuadé qu'il doit être possible, assez facilement, et si Fibaro le permet (ça ça m'étonnerai) de remplacer l’ancienne carte zwave par une zwaveplus. Tout ça pour dire que je ne vois pas en quoi le matériel serait dépassé, même dans plusieurs années.
  20. Virtual Device pour amplificateur ONKYO TX-NR626 - v1.1.0 Je viens d'acquérir un nouveau jouet : un amplificateur home-cinéma ONKYO TX-NR626 et vous trouverez ci-dessous un Virtual Device pour le commander. Avant de continuer, je tiens à remercier @Krikroff pour son aide précieuse et l'utilisation d'une grosse partie du code de son Virtual Device. Il a fallut adapter, non sans mal ! Cet amplificateur est connectable au réseau en wifi ou ethernet et peut être commandé à l'aide du protocole ISCP over ethernet (eISCP) consultable dans ce document. Des infos ici aussi. Avant toute chose, mea culpa pour les éventuelles erreurs de codage, je ne suis pas du tout codeur et ce ne sera certainement pas optimisé ou réglementaire. Je pense que ce Virtual Device doit fonctionner avec pas mal d'amplificateur Onkyo dit "connectable". Le Virtual Device : Le Home : N'oubliez pas de paramétrer l'IP de votre amplificateur (XXX.XXX.XXX.XXX). Le port est généralement 60128, vous n'avez pas besoin de le changer. Vous trouverez le Virtual Device dans le fichier ZIP en pièce jointe avec l'icône de l'amplificateur et un fichier README_FIRST.txt Si ce fichier s'appelle comme ça c'est qu'il y a une raison. Il faut donc ABSOLUMENT le LIRE avant de jouer avec ce Virtual Device ! Ce post sera modifié en fonction des évolutions du Virtual Device. Onkyo_TX-NR626_v1.1.0.zip
  21. Effectivement c'est ce que j'allais te dire : créer un package prêt àl'emploi plutôt que de bidouiller les tables (c'est pas donné àmr/mme tout le monde)
  22. @Krikroff Pour info j'ai le TX NR-626, un modèle sorti en septembre 2013.
  23. Moi j'attends la freebox v7. Me faire payer 90€ pour avoir la révolution alors que je viens d'être dégroupé, ça me fait chier, surtout que Niel est dans les starting-blocks pour annoncer mieux qu'une révolution parait-il ! Krikroff je compte sur toi pour développer un plugin pour la v7 hein
  24. @Krokroff Non il n'est pas dans la liste mais c'est le même protocole que pour le TX-NR905 Je pense développer un truc à partir de ce document, mais franchement, je n'y comprends pas grand chose et je ne sais pas par où commencer
×
×
  • Créer...