Aller au contenu

Lazer

Administrateur
  • Compteur de contenus

    25 989
  • Inscription

  • Dernière visite

  • Jours gagnés

    1 280

Tout ce qui a été posté par Lazer

  1. Il me semble que dans le QA GCE je gère déjà l'état dead, mais pas le WakeUp forcé, car il n'était pas encore dispo sur les vieux firmware, à l'époque où je l'ai développé. Gérer l'état dead des child me parait tout aussi important que pour le parent, c'est ce que je fais en tout cas.
  2. Vieux modules éloignés ? A coup sûr c'est le même problème qui a été documenté sur le forum depuis la sortie de la HC3, à savoir la vieille version du SDK bugguée qui est exploité dans le firmware de ces vieux modules Z-Wave (non +) La plupart des FGS, FGD, FGMS, etc d'ancienne génération Fibaro sont concernés dès qu'ils exploitent le maillage (trame qui est routée par un module intermédiaire) Ce problème est censé être résolu sur le moteur Z-Wave v3 de la HC3, sauf que pour l'instant celui-ci est encore en Beta, donc pas du tout conseillé. Bref, à part attendre, il n'y a pas grand chose à faire.... ou alors il faut être très motivé : déplacer les modules pour mettre les vieux à coté de la box, et les nouveaux plus loin...
  3. Ah je crois que j'ai compris. Tu veux passer le module en état mort (= dead). Je ne suis pas certain de savoir de quelle pastille tu parles, mais lorsqu'un module ne communique plus, il passe donc en état mort. Son icône devient alors grisée avec un symbole radio de dysfonctionnement par devant. Tu peux donc modifier toi même la propriété "dead" de ton QuickApp avec updateProperty pour mettre true/false, exactement comme pour la value. Et tu peux même réagir aux tentatives de réveil : function QuickApp:wakeUpDeadDevice() tools:trace("Tentative de réveil") -- ... ici on tente de contacter le module via IP, Wi-Fi, etc... -- Puis on désactive son état mort : self:updateProperty("dead", false) end PS : exemple de gestion dans mon QuickApp Yamaha MusicCast. PS2 : au moindre problème réseau, le QA passe en dead, c'est un peu pénible... surtout pour les appareils connectés en Wi-Fi dont la liaison est instable par nature. Dans la prochaine version je mettrai un compteur interne et le QA ne passera dead qu'après 2 ou 3 tentatives de connexion infructueuse afin d'éviter le "bagotement".
  4. Lazer

    Bonjour

    Bienvenue sur le forum
  5. Lazer

    Support Gea

    Elle fonctionne ta règle ? La syntaxe de la condition me semble incorrecte. J'aurais juste mis ça : GEA.add(id["Capteur_Garage"], 10*60, "Porte de garage ouverte depuis plus de 10 minutes", {"Close", id["FGS-214"], 100})
  6. Si tu trouves un modèle STL. Une recherche rapide de ZW074 sur Thingiverse ne donne rien, ce module est surement trop vieux, car on trouve au contraire plusieurs modèles pour les détecteurs plus récents.
  7. Ben... euh... soit j'ai pas compris la demande... soit c'est juste la base de la base d'un QA de type binary (voir les exemples proposés par Fibaro par défaut lors de la création du QA) => self:updateProperty("value", true) (ou false) L’icône suivra toute seule, c'est la HC3 qui le gère EDIT : en fait après relecture c'est ce qu'à expliqué Fredmas juste au dessus
  8. Lazer

    Bizarrerie Hc3

    J'ai pas vraiment compris ton problème... Tu peux utiliser le compte principal administrateur depuis l'application, même si ce n'est pas conseillé (pour des raisons de sécurité, mais aussi parce que tu verras tous les modules, y compris ceux que tu n'as pas spécialement envie de voir depuis ton téléphone) Mais en dehors de ça, tout fonctionnera.
  9. Lazer

    Slider

    Remarque : aussi étrange que cela puisse paraitre, il faut passer une string en argument de updateView. Donc il faut parfois convertir la valeur si celle-ci est numérique. Exemple : local value = 50 self:updateView("slider", "value", tostring(value))
  10. Lazer

    Récupérer valeur dans un API

    C'est ce qu'il faut faire, c'est facile à faire avec une boucle for _, parameter in ipairs(...parameters) do Puis tu testes chaque élément : if parameter.id == 13 then ... end J'ai pas le courage d'écrire le code, et je préfère pas le donner car ça ne sera pas formateur, mais avec les indices que je viens de donner tu vas trouver facilement.
  11. Lazer

    Support Gea

    Et bien, quelle est la difficulté ? Tu n'as pas partagé ta règle GEA, donc c'est difficile de t'aider (comme je disais plus haut, je ne suis pas devin) Mais il te suffit d'appeler la fonction ON24_S1_C1 si j'en crois ta capture d'écran.
  12. Ici c'est la section pour se présenter. Par ailleurs il faudra te créer un compte et ne pas rester en invité. Ensuite tu pourras aller dans la section Portiers ou participer directement au fil du Dahua
  13. Lazer

    Support Gea

    Hum... mais du coup, pourquoi tu n'encodes pas ta chaine de caractère avant de la mettre dans ta règle GEA ? Tu peux utiliser un service en ligne tel que https://www.urlencoder.org/ Tu y colles ta phrase complète avec les espaces, tu récupère la version encodée, que tu peux coller dans ta règle GEA, à la suite de msg=...
  14. Je pense que c'est possible mais je n'ai jamais essayé. Dans le JSON du module, on voit qu'il y a des bornes min et max : Tu peux tenter de mettre cette ligne dans le onInit() de ton QuickApp pour tester si ça fonctionne : self:updateView("slider1", "min", "0") self:updateView("slider1", "max", "200") Évidemment tu remplaces le nom du "slider1" par le nom de ton slider, et les valeurs des bornes min max que tu veux.
  15. Lazer

    Slider

    L'affichage se fait au format JSON, donc effectivement peu lisible si tu n'est pas habitué. Affiché plus proprement (= formaté pour un humain), ton exemple donne : "event": { "deviceId": 502, "elementName": "slider", "values": [ 64 ], "eventType": "onChanged" } Le champ "values" de la table est un peu particulier, car c'est lui-même une table (indiquée par la présence de crochets), qui contient une seule valeur non indexée : 64 Comme cette valeur n'a pas d'index nommé, on y accède par un index numérique, 1, que l'on place entre crochets. Cela donne donc : event.values[1] => on prend le 1er élément de la table values dans la table event
  16. Lazer

    Support Gea

    Alors là je ne sais pas...
  17. Au sens Fibaro ça n'a aucune importance, c'est juste ma tambouille interne. J'ai trouvé logique d'avoir : - une variable version sous forme de "number", car il est facile de comparer cette valeur lors du démarrage du QA et ainsi vérifier la bonne version de la librairie (oui parce qu'en fait j'utilise ce principe dans toutes mes librairies dépendantes) - une variable _VERSION sous forme de "string", car il est plus facile à afficher à l'écran lors d'un self:debug(), sans avoir besoin de mettre en forme avec string.format()... d'ailleurs, doit-on afficher avec le formatage 2.10 ou 2.1 ? Avec une string, pas de question à se poser. Surtout si demain je décide de créer la version 2.125 par exemple (sur 3 digits donc) Pour en revenir au sens Fibaro, même si ça n'a aucune importance, je n'ai quand même par sorti ça de nul part, je me suis inspiré de ce que Fibaro a fait. Voir sur le topic suivant : _VERSION = "Lua 5.3" json._VERSION = "1.3.4" => ce sont des strings.
  18. @jang a parfaitement répondu (qui en aurait douté ) Quant à ta phrase, je l'aurais plutôt écrite comme ceci : "La position de la déclaration de ta variable locale a de l'importance finalement." C'est en quelques sorte de la sémantique du langage.... notre langage d'humain
  19. Tu peux faire la somme de la puissance de tes 6 ampoules pour en être certain, car le Dimmer v2 est effectivement limité à 250W. Si tu veux les conserver, tu peux limiter la puissance d'éclairage avec le paramètre 2 (par exemple 50%.... ça va dépendre de la puissance cumulée de tes ampoules) Et tu peux également augmenter le paramètre 39 à la valeur maxi (350W) Le Cos phi des ampoules LED n'est jamais indiqué, sauf peut être chez les marques pro. Mais en pratique tu t'en moques un peu. Le Bypass est indispensable en cas d'utilisation sans neutre... si tu as le neutre, ça dépend ! Donc il faut tester sans, puis avec, car c'est tellement dépendant des ampoules LED, c'est vraiment la loterie.
  20. Lazer

    Support Gea

    Ah on avance... MAIS : - tu n'as pas mis GEA.debug = true comme je te l'ai demandé - je vois pas mal de lignes qui n'ont apparemment rien à voir avec ton problème => donc STP fait le ménage, et ne laisse que la ligne qui te pose problème avec l'action "httpGet" => ça simplifiera l'analyse des logs sinon on ne s'en sortira pas.
  21. Lazer

    Support Gea

    C'est impressionnant quand même, tu n'as donc que ça a faire de tourner autour du problème plutôt que d'aller droit au but et de partager ton log ? Et aucune considération pour le temps que tu me faire perdre par la même occasion ? Des exemples tu en as dans la doc de syntaxe... De toute façon ta syntaxe me semble OK, sauf peut être l'appel de la fonction urlencode() car je ne suis pas certain qu'elle existe en LUA Si je te demande de partager tes logs depuis tout à l'heure, c'est par pour rien quand même, c'est incroyable ça. (et oui, le ton est énervé, il y a de quoi...)
  22. Lazer

    Support Gea

    Impossible ça voudrait dire que ta condition n'est pas remplie, hors c'est impossible puisque tu as mis true. Donc ta condition est forcément valide, la règle est forcément exécutée, donc tu as forcément un affichage dans le log.
  23. Lazer

    Support Gea

    Certes .... mais quel message d'erreur tu as sur GEA ? Sans message d'erreur, difficile de deviner.... en tout cas perso je ne suis pas devin, malheureusement Copie/colle le log ici, c'est simple. Et n'oublie pas de mettre debug = true comme toujours.
  24. Lazer

    Support Gea

    " cela ne marche pas " ne signifie rien en informatique. D'ailleurs ça ne signifie rien tout court. C'est comme si tu allais chez ton docteur et que tu disais "je suis malade". Il sera bien avancé pour te soigner... Bref, quel est ton message d'erreur, le comportement observé, etc.... toute information utile pour aider à la résolution de ton problème.
×
×
  • Créer...