Did Posté(e) le 14 septembre 2015 Signaler Posté(e) le 14 septembre 2015 Non, c'est bon, j'ai compris, en fait, j'ai deux messages différents (donc n° différent) pour le on et le off. Merci.
mccyrille Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 Bonjour Je m'arrache les cheveux sur un truc tellement simple que je désespère... Est-ce moi, le lua, ou fibaro qui fait de la merde ? A vous de me le dire ^^ ! Voici mon code... et les réponses Je cherche juste à faire une petite fonction qui check régulièrement un état d'une entrée de mon IPX, mais je n'arrive pas a récupérer la valeur, qui est pourtant bien récupéré (voir "réponse : 1") Je ne comprend pas pourquoi "après" affiche encore -1, alors qu'il a bien été pris en compte pourtant. Et pire... Pourquoi le débug "après:" s'affiche avant "réponse :" ! Éclairez moi SVP ^^
Gazous Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 Hello c'est normal ! La fonction http:request est une fonction asynchrone. Donc elle est non bloquante et c'est dans le code de success que tu récupères la réponse. Donc ton debug "après" s'execute tout de suite soit avant que ta requête http aboutisse et donc àce moment làta variable est toujours à-1. Tu peux aussi constater cela en regardant l'ordre de tes debug et l'horodatage. Tu vois bien que "après" arrive juste avant "réponse"
mccyrille Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 ok, je me suis un peu douté de ça... Mais comment faire alors ? J'ai essayé de mettre un "sleep(1000)" avant mon "après" histoire de laisser le temps à la fonction request de s'executer, mais c'est pareil ! J'ai même rajouté ça avant le "après" : fibaro:sleep(1000) fibaro:debug("sleep") fibaro:sleep(1000) et voici la réponse : [DEBUG] 23:28:42: avant : -1[DEBUG] 23:28:43: sleep[DEBUG] 23:28:44: après : -1[DEBUG] 23:28:44: réponse : 1 Je ne peux pas faire autrement, de manière synchrone, juste histoire de checker ?? (sans passer par un VD...)
Gazous Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 Non car dans une scène tu n'as que http:request pour faire ça... Je ne vois pas ce qui te pose problème. Le code qui doit s'exécuter après ton appel et qui a besoin de la valeur en question, tu le mets dans une fonction puis tu appelles cette fonction dans la section success de ta requête. Donc ton code va ainsi s'executer dès que la requête aura aboutie. Par contre pour bien traiter ton appel, tu devras dans la,section error rappeller relancer ta scene ou ta requête après un petit sllep de 1 seconde par exemple. Tu vois ce que je veux dire ?
mccyrille Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 mais le truc c'est que "tant que la valeur n'a pas changé d'état" et d'autres trucs se sont passé (d'autres entrées, donc ça commence àêtre compliqué), alors je dois rechecker. D'où le fait que je veuille juste checker l'input, faire mes if et tout tranquillement ailleurs, et au besoin, rechecker !
Gazous Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 Et bien je ne vois pas non plus le problème. Tu fais un appel récrusif tant que tu n'as pas le cha,gement d'état et tes autres conditions. Sinin, tu peux aussi configurer ton IPX avec un appel push qui lance une scene sur ta fibaro sur cha,gelent d'état. Ça,serait plus propre d'ailleurs.
mccyrille Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 ça devient vite l'usine à gaz quand on utilise ET des déclenchement push, ET des VD ET des scènes, pour finalement ne faire qu'une seule chose simple... mais bon ok je vais voir ça alors merci quand même
Gazous Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 C'edt,sûr que souvent on est obligé de faire des petites bidouilles pour contourner certains manques mais généralement on finit par trouver une solution propre.
Syris Posté(e) le 4 novembre 2015 Signaler Posté(e) le 4 novembre 2015 Bonjour, Je cherche a utiliser de simples "poussoir" pour lancer des scènes via l'ipx800. Mes entrées on/off fonctionnent très bien en utilisant mon vd et la lecture du json des entrées. Cependant pour les poussoirs, je ne peux pas utiliser cela car forcément je ne vais pas tenir appuyer le BP pendant 30 secondes. Quel est la meilleure solution ? Utilisez le push je suppose, mais sa va me faire une surcouche par rapport au json... N'y a t'il pas une bidouille dans l'ipx à faire afin que lors d'un appui bref, l'état INX passe à 1 pour ne repasser à 0 que lorsqu'on rappui ? Du coté push, il suffit de mettre cela pour lancer la scène (/api/sceneControl?id=229&action=start) mais quand je veux rappuyer sur mon bouton, j'aimerai éteindre ma scéne et c'est la que je bug... Merci
florentdu16 Posté(e) le 30 décembre 2015 Signaler Posté(e) le 30 décembre 2015 bonsoir, pas besoin de poser la question ... je suis un boulet lol je n'arrive meme pas à renvoyer la mesure de ma sonde de luminosite de mon ipx800 sur la HC2..... ;( j'ai utilisé le virtual device de kirikoff est je suis toujours en failed.... petite question : la donnée que je vais remontée sur la hc2 sera enregistrée pour pouvoir faire un suivi des valeurs par la suite sur les graph de la hc2??? merci a tous
audranis Posté(e) le 8 janvier 2016 Signaler Posté(e) le 8 janvier 2016 Bonsoir à tous Je début avec la HC2 et j'ai un problème pour piloter mon IPX800 V3 en M2M cela fonctionne parfaitement en LUA et commande HTTP mais absolument pas en M2M. Il semble que la HC2 n'envoi pas les requêtes à l'IPX j'ai utilisé wireshark pour analyser le traffic et apparement la HC2 n'envoie pas les commande à l'IPX sur le port TCP 9870. Pour m'assurer que cela fonctionne correctement coté IPX j'ai utilisé un petit utilitaire (Packet Sender) pour envoyer les requêtes M2M via mon PC à l'IPX et la cela fonctionne sans aucun problème donc j'ai surement pas compris comment utiliser l'HC2 et l'IPX en mode M2M si vous pouviez m'éclairer sur le sujet ? Merci d'avance
audranis Posté(e) le 8 janvier 2016 Signaler Posté(e) le 8 janvier 2016 Bonsoir à tous Je début avec la HC2 et j'ai un problème pour piloter mon IPX800 V3 en M2M cela fonctionne parfaitement en LUA et commande HTTP mais absolument pas en M2M. Il semble que la HC2 n'envoi pas les requêtes à l'IPX j'ai utilisé wireshark pour analyser le traffic et apparement la HC2 n'envoie pas les commande à l'IPX sur le port TCP 9870. Pour m'assurer que cela fonctionne correctement coté IPX j'ai utilisé un petit utilitaire (Packet Sender) pour envoyer les requêtes M2M via mon PC à l'IPX et la cela fonctionne sans aucun problème donc j'ai surement pas compris comment utiliser l'HC2 et l'IPX en mode M2M si vous pouviez m'éclairer sur le sujet ? Merci d'avance La seule chose que je n'avais pas tester était de redémarrer la HC2 et après un reboot cela fonctionne !!! avez vous deja constater ce type de problème ? Donc apparement les commandes sont correctement envoyées depuis le redémarrage de la HC2 !
MasterBT Posté(e) le 25 janvier 2016 Signaler Posté(e) le 25 janvier 2016 Hello World, Après recherche je ne retrouve plus comment on fait pour récupérer la valeur d'une sonde de température branchée sur l'IPX. réponse trouvée: HC2 = Net.FHttp("192.168.1.165") response = HC2:GET("/api/xdevices.json?cmd=30") response = json.decode(response) fibaro:debug(response.AN1) fibaro:debug(response.AN2) fibaro:debug(response.AN3)
babakite Posté(e) le 26 février 2016 Signaler Posté(e) le 26 février 2016 Bonjour, Quelqu'un a-t-il un retour d'expérience avec l'ipx V4 ? J'ai créé un VD en essayant de passer URL ou paramètre M2M mais rien y fait ... Une idée ? Mes essais pour déclencher le relais 1 sans succès (IP et Port renseignés sur le VD) : GET /leds.htm?led0=1 HTTP/1.10x0D0x0A0x0D0x0A GET /preset.htm?rly0=1 HTTP/1.10x0D0x0A0x0D0x0A Set011
BenjyNet Posté(e) le 26 février 2016 Signaler Posté(e) le 26 février 2016 Hum moi j'ai fait ça et ça marche très bien mais attention, je ne fais pas de vérification sur les erreurs HTTP en cas d'IPX non joignable par exemple (Laser va me gronder). Ici c'est pour switcher le relais 2 avec un seul bouton dans le VD (allumer/éteindre). -- Interaction relais 2 local ipx_ip = fibaro:get(fibaro:getSelfId(),"IPAddress") local selfID = fibaro:getSelfId() local etat = "" IPX800 = Net.FHttp(ipx_ip) response = IPX800:GET("/api/xdevices.json?key=apikey&Get=R") etat = json.decode(response) if (etat["R2"] == 1) then fibaro:log("Extinction") fibaro:call(selfID, "setProperty", "currentIcon", "1034") IPX800:GET("/api/xdevices.json?key=apikey&ClearR=2") else fibaro:log("Allumage") fibaro:call(selfID, "setProperty", "currentIcon", "1033") IPX800:GET("/api/xdevices.json?key=apikey&SetR=2") end
cybersquat Posté(e) le 26 février 2016 Signaler Posté(e) le 26 février 2016 Y a aussi MasterBt qui utilise la V4 depuis peu la ^^ @BenjyNet, ca m'intérèsse ton morceau de code, car moi mon portail est sur l'ipx (CAME BX74) et j'avais fait deux bouton, On et OFF et avec ton code on peut ne faire que un ? Voici le mien du bouton local ip_module = fibaro:get(fibaro:getSelfId(),"IPAddress") HC2 = Net.FHttp(ip_module) HC2:setBasicAuthentication("comouk", "bbaablablalblablalbalbaltruc") response = HC2:GET("/preset.htm?set1=1") et forcement 0 pour le off
BenjyNet Posté(e) le 26 février 2016 Signaler Posté(e) le 26 février 2016 Mon bout de code c'est pour allumer ma lumière dans le garage. Par contre pour mon portail c'est juste une impulsion normalement pour déclencher l'ouverture. Tu ne devrais donc pas avoir de bouton On/Off. Moi j'ai sur mon relais 1 un délais pour le remettre à0 après passage à1 (fonctionnement impulsionnel quoi). A moins que toi il faille que ton relais soit On pour l'ouverture (et le rester) puis passer àOff pour la fermeture (et le rester). Je sais pas si je suis clair, mais la façon dont tu l'as programmé m'interpelle.
cybersquat Posté(e) le 26 février 2016 Signaler Posté(e) le 26 février 2016 manque le schéma du cablage sur l'ipx
BenjyNet Posté(e) le 26 février 2016 Signaler Posté(e) le 26 février 2016 Comment ça ? Tu relis ton relais en // de ton entrée contact sec sur ta motorisation.
cybersquat Posté(e) le 26 février 2016 Signaler Posté(e) le 26 février 2016 voici mon branchement ^^, le seul truc reloue est que je n'ai pas d'état car je pouvais pas passer d'autre câble
cybersquat Posté(e) le 26 mars 2016 Signaler Posté(e) le 26 mars 2016 @steven Je viens d'installer ton VD, super bien et effectivement, ca peut aider beaucoup ^^ Sauf que j'ai ca dans le débug [DEBUG] 22:19:16: 401 Unauthorized: Password required [ERROR] 22:19:16: line 8: Expected the end but found invalid token at character 5 [DEBUG] 22:19:16: 401 Unauthorized: Password required [ERROR] 22:19:16: line 8: Expected the end but found invalid token at character 5
Steven Posté(e) le 29 mars 2016 Signaler Posté(e) le 29 mars 2016 J'ai pas mis en place la gestion des users/password Si quelqu'un l'a fait, c'est volontiers. Sinon, je passerais un peu de temps 1
BenjyNet Posté(e) le 29 mars 2016 Signaler Posté(e) le 29 mars 2016 Roh ! Tu déconnes Steven ? On va pas te dire comment faire quand même ??? options = { method = 'GET', headers = { ['Authorization'] = 'Basic aXvGcc6TreO0PLMdn65=' -- login:pass encodé en Base64 } },
Steven Posté(e) le 29 mars 2016 Signaler Posté(e) le 29 mars 2016 Ben disons que c'est pas dans mes habitudes de lâcher une information sans mettre un vrai morceau de code. D'ailleurs, je doute, de mémoire, que la librairie net.HTTPClient fonctionne dans un VD. En bref, cela prend du temps de répondre, chose que je n'ai pas vraiment, là , de suite
Messages recommandés