
jjacques68
Membres confirmés-
Compteur de contenus
4 358 -
Inscription
-
Dernière visite
-
Jours gagnés
39
Tout ce qui a été posté par jjacques68
-
Ben... Je n'utilise pas GEA, désolé Par contre j'ai bien un QA qui tourne et analyse le RefreshState... pour plusieurs raisons... Il suffirait d'y ajouter un contrôle de l'heure et comparer avec la VG... Mais je trouve ça lourd...
-
euh... on s'est pas compris là, pour un déclenchement sur Date/Time on utilise : { type = "date", property = "cron", operator = "match", value = {"30", "15", "*", "*", "*", "*"}, isTrigger = true } Et bien moi je souhaiterai pas mettre 15h30 en dur dans le trigger, mais prendre une heure stockée dans une VG !
-
Pour déclencher des actions sur changement de VG oui ok !! Et directement dans une scène aussi ! Mais pour trigger sur une condition Date/heure avec une valeur dans une VG... j'ai un sérieux doute
-
Justement, c'est bien documenté, et visiblement y a pas moyen. On peut pas mettre fibaro.getGlobalVaraible() dans le trigger de la scène...
-
Je vois pas comment le faire, les scènes sont de la programmation séquentielle, j'ai du mal à imaginer comment faire autrement Je vois pas quelle syntaxe utiliser, et y a rien du tout sur le site de fibaro sur de tels cas ! Je me demande si c'est possible...
-
Hello tout le monde ! j'ai besoin de vos conseils Dans une scène : 1- Comment mettre le déroulement d'un script "en pause" pendant un certain temps, SANS utilisé fibaro.sleep() ? Le setTimeout étant asynchrone, la suite du scripte continuera ! 2- Est-il possible d'avoir un trigger de type CRON avec comme value, une variable, afin d'éviter la bonne vieille méthode de bouclage de la HC2 : function MaFonction() if os.date("%H:%M", os.time()) == MaVariable then [...] end fibaro.setTimeout(60*1000, MaFonction) end 3- Quelle est la bonne méthode pour faire clignotter une ampoule pendant x minutes ? (toujours pareil sans les fibaro.sleep()) merci pour vos conseils !! EDIT : je cherche à me séparer les fibaro.sleep(), car si on stoppe une scène avec ces sleep, on a une erreur sans libellés qui apparait !
-
hc3 Quick App Doorbird Manager
jjacques68 a répondu à un(e) sujet de MAM78 dans Quick App Developpeur
si tu remplaces le "&" par "%26" ? -
roah c'est moi comme qui ait fait mon gros boulet de base !!! j'avais une instruction dans une autre fonction du QA qui ajoutait un element à mon tableau avec table.insert() et donc sans passer par ma fonction... Du coup, des éléments pouvaient être ajoutés sans que la taille ne soit contrôlée ! J'ai corrigé et tout marche très bien maintenant ! désolé !! Merci pour la participation !
-
hmmm pourtant c'est pas l'ajout qui pose problème, mais bien le fait de devoir compter le nombre d'éléments... EDIT : Tu penses qu'il se peut que j'ajoute des valeurs null dans la table ? Et ce serait ça qui ferait la pagaille ?
-
hello tout le monde ! j'ai une fonction dans un QA qui ajoute une valeur dans une variable tableau, grâce à table.insert(), qui ajoute la valeur à la fin de la table. si j'ai plus de 500 valeurs dans ma table, je supprime, à chaque nouvel ajout, le premier élément de la table. Comme ça je garde les derniers éléments arrivés. Le but est de ne pas avoir une table qui grossit éternellement. Voici le code tout bête : function QuickApp:AddElement(element) if element ~= "" then table.insert(self.ListElement,element) if #self.ListElement > 500 then table.remove(self.ListElement, 1) self:warning(#self.ListElement) end end end et bien visiblement le table.remove() marche pas !!! c'est quoi qui cloche ? Ce qui est étrange, c'est que quand je l'avais fait, y a plusieurs mois, je suis persuadé que ça fonctionnait !!! Si vous une idée... merci d'avance !
-
au hasard, si tu fais un : self:debug(response.data.state.any_on) dans le success de ta requete ça donne quoi ? en fait il faudrait que tu postes le debug complet de "response.data", pour voir... PS : utilise l'éditeur du code du fofo (bouton </>) pour poster des lignes de codes, c'est plus lisible
-
hmm j'ai pas de HUE, je peux pas t'aider sur ce cas... Mais pour envoyer des requête http depuis un QA : https://manuals.fibaro.com/home-center-3-quick-apps/ Tu trouveras ton bonheur ici, mais faut fouiller...
-
si ça peut aider :
-
base de connaissances Gestion des appareils enfants
jjacques68 a répondu à un(e) sujet de Krikroff dans Support
ok j'ai compris. vais mettre cette sécurité dans mes QA. merci !! -
base de connaissances Gestion des appareils enfants
jjacques68 a répondu à un(e) sujet de Krikroff dans Support
petite question : on a souvent une fonction pour créer les child dans le parent. Comment peut-on faire, si on re-exécuté cette fonction, pour ne pas qu'il recrée les child déjà créé ? il faut checker les child existant et comparer le nom ? ou y a un autre moyen ? -
Push d'une valeur depuis un appareil externe vers un QuickApp
jjacques68 a répondu à un(e) sujet de MAM78 dans Support
oh punaise ça c'est la top classe (sans jeux de mots) ce petit tuto. Faudrait pas le perdre ! merci ! -
base de connaissances Gestion des appareils enfants
jjacques68 a répondu à un(e) sujet de Krikroff dans Support
complètement d'accord. -
base de connaissances Gestion des appareils enfants
jjacques68 a répondu à un(e) sujet de Krikroff dans Support
ma première version était par requête http, pour le pilotage et le retour d'état. Y avait pas encore la notion de Parent/Child à ce moment là. Je rencontrais des problèmes étranges lors ce que je pilotais plusieurs sorties simultanément avec la commande fibaro:call({id1, id2, id3}, "turnOn") une fois sur deux, j'avais id2 qui n'était pas pris en compte. je devais séparer en 3 appels, intercallant une tempo( setTimeout) pour que les 3 s'allument. Je sais pas pourquoi, c'est comme si l'IPX, n'arrivait pas à traiter plusieurs requêtes simultanément. Bref ça m'a saoulé, les Parents/Child sont arrivés, j'ai l'habitude des socket, et voilà. Je ne regrette pas du tout. Le code dans le parent, qui décrypte la trame reçue à chaque changement d'une entrée/sortie/compteur, est peu lourd, surtout que j'ai fais un petit IHM dans le parent pour avoir une visu sur l'état de l'IPX : Mais ça tourne nickel, et plus de soucis. Je peux partager le code avec plaisir, mais pas sur ce topic, je te laisse en ouvrir un... Après ça pas du code grand public -
base de connaissances Gestion des appareils enfants
jjacques68 a répondu à un(e) sujet de Krikroff dans Support
@Lazer, merci pour ces explications plus qu'intéressantes ! Avec ce que tu dis, je pense avoir pas trop mal fait mon QA IPX , du moins la partie Child... Quoique je me rends compte que j'ai pas de child pour le seul compteur que j'utilise... j'envoi la valeur directement dans un autre QA dédié (gestion de l'eau). Après je l'ai réalisé d'une manière, j'ai l'impression, peu commune... mais qui fonctionne à merveille. Le parent discute à 100% en TCP avec l'IPX. L'IPX ne met pas à jour les Child directement par requete push, c'est le parent qui fait ce boulo selon ce qu'il reçoit sur la socket. Et biensur j'utilise les Child partout dans les scènes et autres... désolé @MAM78, je ferme la parenthèse. -
base de connaissances Gestion des appareils enfants
jjacques68 a répondu à un(e) sujet de Krikroff dans Support
là tu parles bien du cas spécifique de @MAM78 ? parce que pour des child "actif", typiquement les child affectés aux sorties d'un IPX par exemple, sont de type "bianrySwitch", donc possèdent bien 2 méthodes "action" ! J'ai un doute, à quoi ressemblerait la requête sans utiliser curl ? -
base de connaissances Gestion des appareils enfants
jjacques68 a répondu à un(e) sujet de Krikroff dans Support
ben oui, tu appelles la méthode "turnOn" de ton Child ! tu as donc une fonction turnOn dans la class du Child ! Il y a quoi dans cette fonction ? ou j'ai pas compris la question... EDIT : Je pense que j'avais pas compris. Du coup je penche vers un soucis de droits d'accès. La commande semble être OK... (ou alors c'est pas la commande turnOn ??) L'équipement qui commande ton Child doit avoir le droit d'accès sur la HC3... RE EDIT : En fait je pense pas que le turnOn fonctionne ... Il apparaît pas dans les actions d'un MotionSensor dans l'API. Si j'étais à ta place, je créerai la méthode trunOn dans la class avec un self:updateProperty("value", true) désolé j'ai pas de quoi tester sous la main... -
base de connaissances Gestion des appareils enfants
jjacques68 a répondu à un(e) sujet de Krikroff dans Support
dans la class donc dans les child, il me semble avec un simple self.id self.name self.type -
mouai ça sent un problème de rafraîchissement du navigateur, vidange du cache, un truc dans le genre...
-
et hop un nokia 6 avec android 7 pour 60 € sur ebay
-
il reste une possibilité pour automatiser à 100 % le truc, coller une étiquette RFID sur chaque produit mais on commence à être dans la science fiction