Lazer Posté(e) le 19 novembre 2020 Auteur Signaler Posté(e) le 19 novembre 2020 (modifié) OK, dans ce cas on va conserver le comportement actuel qui utilise le pont Hue. Pour les childs, on va ajouter des nouvelles options. La luminosité devrait déjà pouvoir se régler de façon traditionnelle comme pour tout dimmer avec "Value" et la valeur en numérique, je pense que ça doit fonctionner : GEA.add( {CONDITIONS}, 30, "", {"Value", 21, 50} ) Dans le JSON de ton child, je vois qu'il y a une méthode "setColor" avec 1 seul paramètre, mais je n'ai aucune idée de la valeur qu'il faut donner à se paramètre. Tu pourrais faire des tests directement en LUA avec fibaro.call(...) pour comprendre le fonctionnement ? Il semble que la valeur soit stockée dans le champ properties.color. Si ça se trouve, le paramètre à passer est littéralement la chaine "255,255,255,0" qui semble indique du blanc (les 3 composantes RGB à 255), mais que signifie le dernier paramètre à 0 ? EDIT : laisse tomber, j'ai compris, c'est la même API que pour les modules RGBW. Donc tu peux utiliser directement sur un child Hue : GEA.add( {CONDITIONS}, 30, "", {"RGB", 21, 100, 0, 100, 100} ) Elle est géniale cette HC3, l'intégration native des modules externes, comme pour les modules Z-Wave, ça simplifie tout Du coup je pense que je vais ajouter un alias pour "RGB" qui sera "Color", tout simplement, et ça sera plus parlant, et l'usage de l'un ou l'autre sera au choix de l'utilisateur Je suis preneur d'autres suggestions bien sûr Modifié le 19 novembre 2020 par Lazer
Dgille Posté(e) le 19 novembre 2020 Signaler Posté(e) le 19 novembre 2020 Bon, je suis passé d'un scène bloc vers lua. setColor prend bien 4 paramètres (R+G+B)+ ?, le quatrième n'a pas l'air d'influer énormément, mais je pense que c'est la saturation. fibaro.call(23, 'setColor', 255,0,0,0) fibaro.call(23, 'setValue',50) le setValue correspond à la luminosité et fait l'objet d'une règle de trois, les 50 % demandés ici , deviennent 128 "brightness": 128, L'espace colorimétrique est recalculé, le rouge demandé ci dessus devient "color": "1,27,255,0", D'ailleurs, le child est bizarre, il est en deux parties, une première on/off avec couleur et luminosité, une seconde avec la saturation en plus, qui réagit avec retard (le polling du pont ?). il y a d'autres possibilités, dont fibaro.call(23, 'toggle') fibaro.call(23, 'startLevelIncrease') mais pas super utile. donc si on sait positionner setColor et setValue avec 4 et 1 paramètres, on doit pouvoir s'en sortir.
Dgille Posté(e) le 19 novembre 2020 Signaler Posté(e) le 19 novembre 2020 en complément, un fibaro.call(23, 'value',0) ne fait rien.
Lazer Posté(e) le 19 novembre 2020 Auteur Signaler Posté(e) le 19 novembre 2020 il y a 17 minutes, Dgille a dit : fibaro.call(23, 'value',0) ne fait rien Normal, il faut utiliser "setValue" "value" n'est pas une fonction, c'est juste une propriété
Dgille Posté(e) le 19 novembre 2020 Signaler Posté(e) le 19 novembre 2020 oui, j'avais compris, c'était pour bien préciser c'est c'était une propriété non gérée ici. Je teste cela demain...
Lazer Posté(e) le 19 novembre 2020 Auteur Signaler Posté(e) le 19 novembre 2020 Oui mais en fait pour une meilleure compréhension, ce qu'il faut retenir c'est que fibaro.call() est juste un passe-plat qui peut appeler n'importe quel fonction dans le module cible. Les plugins Fibaro sont en fait des QuickApps. Donc que tu développeras tes propres QuickApps, tu pourras créer tes propres fonctions et les appeler depuis n'importe où. L'intérêt est énorme, on n'a plus besoin de "cliquer" sur le boutons (avec leur fameux numéro qui change dès qu'on déplace ledit bouton), il suffit d'appeler la fonction qui est toujours accessible. Exemple dans ton QuickApp : function QuickApp:maSuperFonction(un, ou, plusieurs, paramètres) -- fait plein de choses end fibaro.call(ID, "maSuperFonction", "avec un paramètre", "et un autre") Les propriétés (telles que value ou color), quant à elles, sont accessibles directement via le JSON du module, comme sur la HC2. Ensuite, un module d'un certain type (par exemple les actionneurs dimmer (type com.fibaro.multilevelSwitch) ou un relai (type com.fibaro.binarySwitch) doivent toujours proposer certaines fonctions obligatoires, et notamment le fameux setValue() Quand tu as compris tout ça, tu vois à quel point il est facile et puissance de faire interagir les QuickApps entre eux.... GEA n'était qu'un QuickApp parmi d'autres mais aussi via l'interface Web et l'Application, ou bien encore via l'API HTTP pour que les QuickApps soient accessible depuis l'extérieur (typiquement un IPX800 ou tout autre box domotique)
971jmd Posté(e) le 20 novembre 2020 Signaler Posté(e) le 20 novembre 2020 (modifié) salut je pense avoir trouvée un bug avec CentralSceneEvent et le bouton de FIBARO 1 click et 2 click ne fonctionne pas 3 - 4 - 5 - maintenue fonctionne très bien -----BUTON JAUNE ----1 click GEA.add({"CentralSceneEvent", id["BOUTON_JAUNE"], 1, "Pressed"}, -1, "1 click") ---2click GEA.add({"CentralSceneEvent", id["BOUTON_JAUNE"], 1, "Pressed2"}, -1, "2 click") ----3 click GEA.add({"CentralSceneEvent", id["BOUTON_JAUNE"], 1, "Pressed3"}, -1, "3 click") ----4 clicks GEA.add({"CentralSceneEvent", id["BOUTON_JAUNE"], 1, "Pressed4"},-1, "4 click") ---, {{..... ----5 clicks GEA.add({"CentralSceneEvent", id["BOUTON_JAUNE"], 1, "Pressed5"},-1, "5 click") ---, {{..... ----6 Maitenue GEA.add({"CentralSceneEvent", id["BOUTON_JAUNE"], 1, "HeldDown"},-1, "OFF Général", {{"Sleep", 30, {"QuickApp", 238, "p4" }}} ) Modifié le 20 novembre 2020 par 971jmd
Dragoniacs Posté(e) le 20 novembre 2020 Signaler Posté(e) le 20 novembre 2020 Il y a 18 heures, Lazer a dit : Elle est étrange ton ancienne syntaxe, tu es certaine qu'elle était valide ? Oui, cela fonctionnait très bien en V6.13 ! En fait, cela me permettait de recevoir les messages du debug GEA directement dans PUSHOVER, plutôt que de devoir passer par une option et un ordre spécifique.
Lazer Posté(e) le 20 novembre 2020 Auteur Signaler Posté(e) le 20 novembre 2020 @Dragoniacs OK en effet, j'ai compris. Je ne connaissais tout simplement pas cette fonctionnalité. Tu m'a enduis d'erreur en parlant d'options, alors qu'en fait ce n'est pas une "options" au sens GEA du terme, donc je ne cherchais pas au bon endroit. Mais c'est parfaitement décrit tout à la fin du document de @pepite Citation - GEA.output : -> A N"UTILISER" QUE LORSQUE les PUSHs de Fibaro ne fonctionnent pas -> Permet de recevoir les messages par SMS (dans l"exemple" ci-dessous, il est possible de faire différemment) en contournant les PUSHs -> Ajouter la fonction <GEA.output> dans <function config()> comme ci-dessous : function config() ... GEA.output = function(message) fibaro:setGlobal("FreeSMS", message) end ... end - > tous les messages "MESSAGE" de GEA.add({CONDITIONS}, duree, "MESSAGE", {ACTIONS}) seront redirigés vers la variable globale "FreeSMS". J'ai retrouvé où ça se passe dans le code de GEA, je pense comprendre pourquoi ça plante, je vais préparer un correctif. Il y a 9 heures, 971jmd a dit : je pense avoir trouvée un bug avec CentralSceneEvent et le bouton de FIBARO 1 click et 2 click ne fonctionne pas 3 - 4 - 5 - maintenue fonctionne très bien @971jmd Je n'ai pas de bouton disponible pour reproduire le comportement chez moi. Il faudrait que tu reproduises le bug après avoir activé le mode GEA.debug=true dans ton fichier de config : function config(GEA) GEA.debug = true -- suite... end Et ensuite tu m'envoies le contenu des logs, qui devraient donner beaucoup d'informations.
971jmd Posté(e) le 20 novembre 2020 Signaler Posté(e) le 20 novembre 2020 je pense que le bug vient de la HC3, car ce matin ça fonctionne bizard il arrive que je click j'ai 7 - 10 sec avant que l'action s'effectue avec : SceneActivation et CentralSceneEvent GEA.add({"CentralSceneEvent", id["BOUTON_JAUNE"], 1, "Pressed"}, -1, "1 click" , {{"OnOff", id["PLAN_TRAVAIL"] } }) [20.11.2020] [07:59:43] [TRACE] [QA_GEA_217]: -------------------------------------------------------------------------------- [20.11.2020] [07:59:43] [TRACE] [QA_GEA_217]: Démarrage par événement de GEA 7.02 (mode device [143]) [20.11.2020] [07:59:43] [TRACE] [QA_GEA_217]: -------------------------------------------------------------------------------- [20.11.2020] [07:59:43] [DEBUG] [QA_GEA_217]: @0s [Validation*] #18 [CentralSceneEvent, [143,1,"Pressed"]][On Off, [137]] [20.11.2020] [07:59:43] [TRACE] [QA_GEA_217]: [Démarrage] #18 [CentralSceneEvent, [143,1,"Pressed"]][On Off, [137]] [20.11.2020] [07:59:43] [DEBUG] [QA_GEA_217]: [action] [On Off, [137]] [20.11.2020] [07:59:44] [DEBUG] [QA_GEA_217]: @0s [Validation] #19 [CentralSceneEvent, [143,1,"Pressed2"]] [20.11.2020] [07:59:44] [DEBUG] [QA_GEA_217]: @0s [Validation] #20 [CentralSceneEvent, [143,1,"Pressed3"]] [20.11.2020] [07:59:44] [DEBUG] [QA_GEA_217]: @0s [Validation] #21 [CentralSceneEvent, [143,1,"Pressed4"]] [20.11.2020] [07:59:44] [DEBUG] [QA_GEA_217]: @0s [Validation] #22 [CentralSceneEvent, [143,1,"Pressed5"]] [20.11.2020] [07:59:44] [DEBUG] [QA_GEA_217]: @0s [Validation] #23 [CentralSceneEvent, [143,1,"HeldDown"]][Sleep, [30,["QuickApp",238,"p4"]]]
Lazer Posté(e) le 20 novembre 2020 Auteur Signaler Posté(e) le 20 novembre 2020 7 à 10 secondes de retard ? Aie, ta HC3 est débordée ? Que dit le monitoring CPU, tu n'aurais pas un module Z-Wave, un QuickApp, ou une scène, qui saturerait le système ?
971jmd Posté(e) le 20 novembre 2020 Signaler Posté(e) le 20 novembre 2020 La RAM est à 60% CPU cor 1 - 2 -3 - 4 sous les 10% .
Lazer Posté(e) le 20 novembre 2020 Auteur Signaler Posté(e) le 20 novembre 2020 CPU normal quoi (pour la RAM je suppose que tu as compté le cache, qui est de la mémoire libre...) étrange cette lenteur, mais donc ce n'est pas lié à GEA, c'est le système qui met du temps à traiter l'événement ?
971jmd Posté(e) le 20 novembre 2020 Signaler Posté(e) le 20 novembre 2020 oui étrange, même ma HC2 fonctionnée mieux
Dgille Posté(e) le 20 novembre 2020 Signaler Posté(e) le 20 novembre 2020 Bonsoir, @Lazer, effectivement, les Hue sont vues comme des RGB, cela passe avec la syntaxe GEA.add( {CONDITIONS}, 30, "", {"RGB", 21, 100, 0, 100, 100} ). Oui, elle est géniale, et oui, on se complique la vie alors que les QA font le boulot.... 1
Lazer Posté(e) le 20 novembre 2020 Auteur Signaler Posté(e) le 20 novembre 2020 Voici la version 7.03 : - correctif pour GEA.output - ajout de l'alias "Color" identique à "RGB" - minor bugfixes (si si ) GEA v7.03.lua 1
Dragoniacs Posté(e) le 22 novembre 2020 Signaler Posté(e) le 22 novembre 2020 Le 20/11/2020 à 19:16, Lazer a dit : Voici la version 7.03 : - correctif pour GEA.output - ajout de l'alias "Color" identique à "RGB" - minor bugfixes (si si ) GEA v7.03.lua Parfaitement fonctionnel, merci @Lazer ! 1
fredokl Posté(e) le 26 novembre 2020 Signaler Posté(e) le 26 novembre 2020 Salut à tous! Je suis encore dans les travaux de ma nouvelle maison et qu'est-ce-que je vois! Une version de GEA pour HC3! J'ai vu qu'elle a débarquée fin octobre, trop cool. Je n'ai pas encore attaqué la partie domotique mais j'ai hâte! Merci @Lazer pour ce travail de titan. Je suis pressé de vous retrouver plus régulièrement. 3
Dragoniacs Posté(e) le 3 décembre 2020 Signaler Posté(e) le 3 décembre 2020 Hier j'ai importé mes 2 premiers modules dans la HC3 Mais paf, un bug pour les gérer dans GEA J'explique. J'ai détourné un capteur d'eau Everspring pour vérifier le niveau d'une cuve d'eau pour mon aquarium. S'il y a de l'eau, la petite pompe fonctionne, sinon, ca coupe ma prise connectée pour pas griller la pompe. -- Gestion de l'osmolateur GEA.add({{"Value","Réserve Némo",1},{"Value","Osmolateur Némo",0}},30,"&-1&OSMOLATEUR : Mise en marche de l'osmolateur",{"turnOn","Osmolateur Némo"}) GEA.add({{"Value","Réserve Némo",0},{"Value","Osmolateur Némo",1}},30,"&0&OSMOLATEUR : Réserve vide - Arrêt de l'osmolateur",{"turnOff","Osmolateur Némo"}) Problème : la pompe se coupe tout le temps, quelque soit l'état du capteur d'eau... J'ai essayé d'inverser les 0 & 1, j'ai tenté un true/false... c'est tout pareil... J'ai tenté de comprendre en regardant l'api du module (en passant, c'est pas mal cette fonctionnalité de la HC3) { "id": 36, "name": "Réserve Némo", "roomID": 225, "view": [], "type": "com.fibaro.floodSensor", "baseType": "com.fibaro.lifeDangerSensor", "enabled": true, "visible": true, "isPlugin": false, "parentId": 35, "viewXml": false, "configXml": false, "interfaces": [ "battery", "fibaroBreach", "zwave", "zwaveConfiguration", "zwaveWakeup" ], "properties": { "pollingTimeSec": 0, "wakeUpTime": 4000, "zwaveCompany": "Everspring", "zwaveInfo": "6,2,64", "zwaveVersion": "1.3", "batteryLevel": 100, "batteryLowNotification": true, "categories": [ "remotes" ], "configured": true, "dead": false, "deadReason": "", "defInterval": 0, "deviceControlType": 0, "deviceIcon": 45, "emailNotificationID": 0, "emailNotificationType": 0, "endPointId": 0, "lastBreached": 1606982743, "log": "En attente du réveil", "logTemp": "TxtGreen", "manufacturer": "", "markAsDead": true, "maxInterval": 0, "minInterval": 0, "model": "", "nodeId": 2, "parametersTemplate": 22, "pendingActions": true, "productInfo": "0,96,0,11,0,1,1,3", "pushNotificationID": 0, "pushNotificationType": 0, "saveLogs": true, "serialNumber": "", "smsNotificationID": 0, "smsNotificationType": 0, "stepInterval": 0, "useTemplate": true, "userDescription": "", "value": true }, "actions": { "getParameter": 1, "reconfigure": 0, "setInterval": 1, "setParameter": 2 }, "created": 1606924157, "modified": 1606924157, "sortOrder": 19 },
Lazer Posté(e) le 3 décembre 2020 Auteur Signaler Posté(e) le 3 décembre 2020 je vais peut être dire une bêtise, mais dans tes actions "turnOn" et "turnOff", tu ne spécifie pas l'ID du module qui pilote la pompe. Et il me faudrait le log de GEA aussi au moment où l'événement se déclenche
Dragoniacs Posté(e) le 3 décembre 2020 Signaler Posté(e) le 3 décembre 2020 (modifié) Je n'ai pas de problème avec l'action qui est réalisée mais les conditions de déclenchement. Et c'est bien le capteur d'eau qui pose problème. [03.12.2020] [11:23:49] [DEBUG] [QA_GEA_26]: @30s [Validation*] #10 [Value, ["Réserve Némo",1]][Value, ["Osmolateur Némo",0]][TurnOn, ["Osmolateur Némo"]] [03.12.2020] [11:23:49] [TRACE] [QA_GEA_26]: [Démarrage] #10 [Value, ["Réserve Némo",1]][Value, ["Osmolateur Némo",0]][TurnOn, ["Osmolateur Némo"]] [03.12.2020] [11:23:49] [DEBUG] [QA_GEA_26]: [action] [TurnOn, ["Osmolateur Némo"]] [03.12.2020] [11:23:49] [DEBUG] [QA_GEA_26]: @30s [Validation*] #11 [Value, ["Réserve Némo",0]][Value, ["Osmolateur Némo",1]][TurnOff, ["Osmolateur Némo"]] [03.12.2020] [11:23:49] [TRACE] [QA_GEA_26]: [Démarrage] #11 [Value, ["Réserve Némo",0]][Value, ["Osmolateur Némo",1]][TurnOff, ["Osmolateur Némo"]] [03.12.2020] [11:23:49] [DEBUG] [QA_GEA_26]: [action] [TurnOff, ["Osmolateur Némo"]] Modifié le 3 décembre 2020 par Dragoniacs
Lazer Posté(e) le 3 décembre 2020 Auteur Signaler Posté(e) le 3 décembre 2020 OK merci, je vais jeter un oeil au code et essayer de trouver ce qui coince dans la détection
pepite Posté(e) le 4 décembre 2020 Signaler Posté(e) le 4 décembre 2020 C'est beau :-) ce debug Envoyé de mon BND-L21 en utilisant Tapatalk
Lazer Posté(e) le 4 décembre 2020 Auteur Signaler Posté(e) le 4 décembre 2020 @Dragoniacs j'ai identifié le bug, qui est particulièrement vicieux.... j'ai du mal à le corriger. En fait je l'ai corrigé, mais ça a entrainé une cascade de nouveaux bugs ! Donc je planche dessus.... mais je vais y arriver... à suivre 2
Dragoniacs Posté(e) le 4 décembre 2020 Signaler Posté(e) le 4 décembre 2020 Ah mince.... Bon courage@Lazer et merci !Envoyé de mon RMX1993 en utilisant Tapatalk
Messages recommandés