Aller au contenu

Lazer

Modérateurs
  • Compteur de contenus

    19 064
  • Inscription

  • Dernière visite

Messages posté(e)s par Lazer


  1. Cool ça :)

     

    Pour le certificat, c'est plus compliqué que ça.

    Le checkcertificate = false est déjà dans les options de la requête http effectuée par le code LUA
     

    Le problème, c'est la HC2 qui ne supporte pas la suite de chiffrement utilisée par Unifi.

    En première page j'ai donné la modification à faire sur le fichier de configuration du contrôleur Unifi, je ne sais pas si c'est valable pour l'UDM.... encore faut-il avoir accès en root au système... est-ce le cas sur UDM ?


  2. @971jmd

     

     

    GEA.add( {"SceneActivation"873}, -1"", {{"Open"9895}}) 
    GEA.add( {"SceneActivation"873}, -1"", {{"Open"9598}}) 

     

    => comportement normal et attendu, tu peux relire la doc de @pepite

    Donc pas de bug à ce niveau là

    Extrait :

    	ACTIONS : 
    		GEA.add( {CONDITIONS}, 30, "", {"Close", 35, 20} )				- Ferme le volet ID 35 à 20 % \\Close blind 35 to 20%

     

     

     

    GEA.add( {"SceneActivation"875}, -1"", {{"Stop"9598}})

     

    => là c'est toi qui fait une erreur de syntaxe, là encore tu peux regarder la doc.

    Le STOP prend un seul argument, c'est l'ID du module... il n'est pas possible de définir une valeur, puisque par définition, c'est un stop, en français un arrêt.

    Si tu veux spécifier 2 ID, alors il faut les mettre entre accolades, comme expliqué dans le doc

    Extrait :

    	ACTIONS : 
    		GEA.add( {CONDITIONS}, 30, "", {"Stop", 32} )				- Stop le volet dont l"id" est 32 \\Stop the blind id 32
    		GEA.add( {CONDITIONS}, 30, "", {"Stop", {32, 33}} )			- Stop LES volets dont les IDs sont 32 et 33 \\Stop the blind id 32 and 33

     

     

     

    GEA.add({CONDITIONS}, 30, "", {"SectionLights", "RDC", "turnOn"} )

     

    => Là pour moi il n'y a pas de bug, es-tu certain de ton test ?

    En plus tu dis " éteint " alors que tu as mis une instruction "turnOn", donc je pense que tu t'es emmêlé les pinceaux.

     


  3. Merci pour tes remontées de bugs, je regarderai ça ce soir.

    Si entre temps tu en vois d'autres, n'hésite pas.

     

    Il y a 5 heures, 971jmd a dit :

    

    
    22.10.2020] [00:02:00] [ERROR] [QUICKAPP160]: QuickApp crashed
    [22.10.2020] [00:02:00] [ERROR] [QUICKAPP160]: main.lua:18: attempt to index a nil value (global 'self')
    [22.10.2020] [00:02:26] [DEBUG] [QA_GEA_213]: ... vérification en cours #7 @210s...
    [22.10.2020] [00:02:26] [DEBUG] [QA_GEA_213]: @210s [Validation] #2 Démarrage box
    [22.10.2020] [00:02:26] [DEBUG] [QA_GEA_213]: @210s [Validation] #3 Détection nouvelle version
    [22.10.2020] [00:02:26] [DEBUG] [QA_GEA_213]: @210s [Validation] #4 Détection nouvelle version beta
    [22.10.2020] [00:02:56] [DEBUG] [QA_GEA_213]: ... vérification en cours #8 @240s...
    [22.10.2020] [00:02:56] [DEBUG] [QA_GEA_213]: @240s [Validation] #2 Démarrage box
    [22.10.2020] [00:02:56] [DEBUG] [QA_GEA_213]: @240s [Validation] #3 Détection nouvelle version
    [22.10.2020] [00:02:56] [DEBUG] [QA_GEA_213]: @240s [Validation] #4 Détection nouvelle version beta
    [22.10.2020] [00:03:00] [ERROR] [QUICKAPP160]: QuickApp crashed
    [22.10.2020] [00:03:00] [ERROR] [QUICKAPP160]: main.lua:18: attempt to index a nil value (global 'self')
    [22.10.2020] [00:03:26] [DEBUG] [QA_GEA_213]: ... vérification en cours #9 @270s...
    [22.10.2020] [00:03:26] [DEBUG] [QA_GEA_213]: @270s [Validation] #2 Démarrage box
    [22.10.2020] [00:03:26] [DEBUG] [QA_GEA_213]: @270s [Validation] #3 Détection nouvelle version
    [22.10.2020] [00:03:26] [DEBUG] [QA_GEA_213]: @270s [Validation] #4 Détection nouvelle version beta

    Mais c'est quoi ton QuickApp 160 ?

    La ligne 18, c'est du commentaire dans GEA, donc ça ne peut pas être un crash de GEA.... c'est forcément un autre de tes QuickApps qui plante.

    Quand tu regardes la fenêtre de debug, il faut que tu filtres les messages pour n'afficher que le QuickApp en cours de debug

     

    En ce qui concerne QA_GEA_213, tout est normal dans ton screenshot, donc tout bon :)

     

    Pour les SceneActivation, c'est étrange tes lenteurs, je n'ai rien constaté de tel dans mes essais, et surtout il n'y a aucune raison pour laquelle les SceneActivations seraient plus lents que les autres triggers.

     


  4. Nickel, voici la version 7.01 avec ce bug corrigé.

    Par contre je ne m'explique pas.... je pense que ce bug devait également exister avec GEA v6 sur HC2.

     

    PS : ce n'est pas le QuickApp complet, juste le code du fichier main à copier/coller à la place du tiens. Ainsi, cela ne touche pas à ton fichier config qui contient tes règles utilisateurs.

     

    GEA v7.01.lua


  5. Hum, encore une fois, je ne vois pas bien où tu positionnes ton code LUA... .Je ne vois rien qui ressemble à des règles GEA.add()

    Toi t'es encore en train de jouer à l'apprenti sorcier ;)

     

    Il n'y a vraiment rien de compliqué, rien ne change par rapport à GEA pour HC2, sauf qu'il n'y a plus besoin de spécifier les triggers (déclencheurs de scènes)... Justement parce que ce n'est pas une scène !

     

    D'ailleurs à ce sujet je me demande bien pourquoi tu mets des conditions = {...}

     

    Bref, rien de compliqué, mais là tu ajoutes de la complexité tout seul ;)

     

     

    PS : merci pour le retour sur le fonctionnement de "Protection" :)

     


  6. "Protection" y est bien, mais je ne l'ai pas testé, donc si tu le fais tu me diras si c'est OK ou non.

    D'ailleurs je pense que tu devrais commencer par tester les fonctionnalités standard de GEA pour te faire la main, et valider le bon/mauvais fonctionnement de cette version que je qualifie encore de Beta.

     

    sceneActivationEvent fonctionne, je l'ai testé.

    Tu peux partager ton code, et éventuellement le message d'erreur ?

     

    Ensuite, "Telegram" n'est pas une option standard de GEA.

    Il s'agit d'un usage particulier dont tu as le besoin.

    Et je n'ai pas de compte Télégram pour tester....

    Donc le process est simple : tu développe ton option en utilisant un QuickApp et en mettant ta règle dans le fichier "config" (et non pas "main"), et si ça marche bien et que la demande des utilisateurs est là, on pourra l'intégrer dans le code standard de GEA.

     


  7. J'ai toujours grillé les feux rouges, et je suis toujours en vie. Est-ce une raison pour continuer ?

    Désolé pour le parallèle douteux, mais si tu veux que je t'aide, fait au moins l'effort de respecter la règle... qui est simple en plus.. et pour ton propre bien.

     

    Désolé je n'ai pas le temps, et aucune envie, d'auditer ton code personnalisé. C'est in-maintenable avec les prochaines mises à jours.

    • Like 1

  8. Il est très facile de convertir une scène HC2 vers une fonction dans un QuickApp HC3, la logique du code asynchrone est la même, les fonctions http:request() sont les mêmes, etc. La récupération d'argument est encore plus simple puisqu'on les spécifie directement dans la définition de la fonction.

    La possibilité d'organiser son code en différents "fichiers" est aussi un énorme plus, pour se faire des librairies de fonction, ou comme dans le cas de GEA for HC3, de séparer le code utilisateur (n'est ce pas @971jmd ;) ).

    Ca facilite la compréhension, et ultérieurement les mises à jours, puisqu'il suffira de copier/coller le nouveau code LUA du code principal (main) sans toucher au code utilisateur.

     

    Il n'y a que les triggers qui manquent dans les QuickApps, comme pour GEA, où j'ai dû utiliser l'API refreshStates à la place, dans une boucle. On verra à l'usage, mais ça semble bien fonctionner.

     

    A vrai dire, sur HC3 il n'y a pas vraiment de limitation... ou disons plus plutôt que les limitations qu'on a connu sur HC2 sont levées.


    Au fait, dans le futur Fibaro ajoutera l'import et la mise à jour automatique de QuickApps depuis le market (comme sur les solutions concurrentes....), donc l'avenir est vraiment aux QuickApps chez Fibaro.

     

    Bref, désolé du semi-HS sur ce topic dédié Support GEA, j'avais justement ouvert un topic à coté pour discuter des développements à faire pour "convertir" nos VD+Scènes HC2 en QuickApps HC3.

    • Like 1

  9. @971jmd non désolé ce n'est pas la bonne méthode, ni sur HC3, ni sur HC2 d'ailleurs

    Il ne faut pas toucher au code de GEA

    Ton option personnalisée doit être dans config() comme expliqué dans mon message précédent

     

    Par ailleurs ton numéro de ligne ne sert à rien, à partir du moment où tu as modifié le code de GEA, impossible de comprendre/reproduire chez moi.

     

    Commence donc par remettre ta config au propre, tu ne modifies que le fichier config du QuickApp comme expliqué dans le tuto, dans les fonctions config() et setEvents()

     

    De toute façon, il faut que tu commences par convertir ta scène dans un QuickApp distinct, qu'on pourra appeler par sa fonction, comme je le disais là aussi dans mon message précédent.

     

     

    @pepite : merci :)

     


  10. @pepite

    Je pensais mettre à jour le fichier Syntaxe, mais si tu es motivé, je te laisse faire ;)

     

    Normalement GEA.options est toujours OK : à configurer dans le fonction config() comme avant.

    Cependant je ne l'ai pas testé... si tu as un exemple concret d'option personnalisée à me donner, je le testerai.

     

     

    Là où ça se complique réellement, c'est que fibaro:args() n'existe pas sur HC3, et globalement tout ce qui touche aux scènes.

    Clairement, les scènes sur HC3 n'ont aucun intérêt, à part pour faire 2 ou 3 clics en mode bloc.

    Même quand on écris une scène en LUA, il est impossible de lui passer des arguments (ou alors je n'ai pas trouvé.... et ce n'est pas documenté). Pour moi cette fonctionnalité n'existe plus.
    Donc pour tout ce qui est écriture de code LUA, il faut utiliser les QuickApps et abandonner les scènes. C'est mon avis.

     

    En QuickApp, au contraire, ça devient très simple. Il suffit d'écrire la fonction de son choix, avec tous les arguments nécessaires. Sachant qu'on peut appeler n'importe quelle fonction publique d'un QA depuis un autre QA, c'est juste parfait.

    fibaro.call(ID_du_QA, "nom_de_la_fonction", argument1, argument2, ...)

     

     

    @971jmd

    Ton bloc telegram = {name="Telegram", ... tu le positionnes où dans ton code ?

    Là je ne vois pas.
    Comme je viens de dire à @pepite, normalement il est censé être dans la fonction options()

    Et donc il devrait commencer par GEA.options.telegram = {...} sinon je ne vois pas comment il pourrait le prendre en compte.

    J'espère juste que tu ne modifies pas directement le code de GEA, il ne faut surtout pas, sinon tu ne pourras plus installer les mises à jours.

    J'ai justement séparé exprès le code GEA du code utilisateur dans 2 fichiers distincts.

     

    Concernant ta scène, en vertu de ce que j'ai répondu à @pepite tu comprends bien que ce n'est plus possible.

    Il te suffit donc de mettre ton code LUA dans une fonction d'un QuickApp, puis il suffit d'appeler cette fonction depuis GEA.

    Pour simplifier, dans ton option telegram, au lieu d'appeler fibaro:startScene(), tu utiliseras fibaro.call()

     

    PS : vu que tu me présentes directement un cas compliqué, quelque part ça me rassure, ça veut dire que toutes les règles usuelles ont fonctionné du premier coup chez toi ? :)

     

    • Like 3
×