-
Compteur de contenus
354 -
Inscription
-
Dernière visite
-
Jours gagnés
20
Barelle a gagné pour la dernière fois le 31 mai
Barelle a eu le contenu le plus aimé !
Profile Information
-
Sexe :
Homme
-
Ville :
Lauragais
-
Box
Autre
-
Version
HC3
Visiteurs récents du profil
Barelle's Achievements
-
Barelle a commencé à suivre Comment faire pour comparer les valeurs de deux appareils , HC3 & HC3L - 5.191.20 - BETA - 24/11/2025 , zigbee HS pour la Néme fois et 2 autres
-
Cela semble pourtant exister : https://manuals.plus/nice/fgd-223-double-dimmer-control-manual
-
Sur la HC2, j'utilisais cet ordre sous Linux : openssl enc -d -aes-256-cbc -in LogsDump.tar.gz -out Logs.tar.gz -k fibaro-hc2 et, il me semble me souvenir que le fichier obtenu était codé avec comme mot de passe le numéro de série de la box. C'est peut-être identique sur la HC3, ou, a minima, cela peut sans doute donner une piste.
-
Grafana (Data outside time range)
Barelle a répondu à un(e) sujet de jojo dans Matériels Informatique
Je viens de réinstaller Grafana sur une nouvelle VM, je me suis limité à un export des dashboard en json puis un import, après avoir éditer le fichier json pour changer l'id des connexions. <id de connexion> : http://xxx.xxx.xxx.xxx:3000/connections/datasources/edit/<id de connexion> J'utilise Grafana avec MariaDB hébergé dans un autre environnement. -
Une petite précision, les agents de l'ex-EdF, dont Enedis, n'ont pas le statut de fonctionnaire, mais d'agent des Industries Électriques et Gazières (IEG), qui par la force des syndicats a fini par être plus avantageux que celui de fonctionnaire : augmentaions régulières, avantages sociaux (la CCAS d'EdF, gérée par la CGT, employait plus de 4000 personnes qui, pour l'anecdote, se mettait en grève pour protester contre leur employeur).
-
Comment faire pour comparer les valeurs de deux appareils
Barelle a répondu à un(e) sujet de Jean Louis DURET dans Support
Uniquement les variables, on ne modifie pas le code source. -
Comment faire pour comparer les valeurs de deux appareils
Barelle a répondu à un(e) sujet de Jean Louis DURET dans Support
Bravo ! Et évite de modifier un code source si tu ne le maîtrises pas... De rien. -
Comment faire pour comparer les valeurs de deux appareils
Barelle a répondu à un(e) sujet de Jean Louis DURET dans Support
Bon j'ai trouvé, tu as modifié le code, aussi je te suggère de supprimer le QA existant, d'importer la version ci-dessous, et enfin de déclarer les variables comme ci-dessus . Comparaison-0.12.fqa -
Comment faire pour comparer les valeurs de deux appareils
Barelle a répondu à un(e) sujet de Jean Louis DURET dans Support
Dans la console, quels sont les messages du QA ? -
Comment faire pour comparer les valeurs de deux appareils
Barelle a répondu à un(e) sujet de Jean Louis DURET dans Support
-
Comment faire pour comparer les valeurs de deux appareils
Barelle a répondu à un(e) sujet de Jean Louis DURET dans Support
-
Comment faire pour comparer les valeurs de deux appareils
Barelle a répondu à un(e) sujet de Jean Louis DURET dans Support
Merci, et pourrais-tu mettre une copie de l'onglet "Variables" du QA. -
Comment faire pour comparer les valeurs de deux appareils
Barelle a répondu à un(e) sujet de Jean Louis DURET dans Support
Une copie d'écran de l'onglet paramètres du QA. -
Comment faire pour comparer les valeurs de deux appareils
Barelle a répondu à un(e) sujet de Jean Louis DURET dans Support
Cette erreur à l'initialisation signifie que la valeur de l'un des paramètres "deviceId1" ou "deviceId2" ne correspond pas à une sonde de température. Note : il est inutile de recopier le code du QA dans les réponses, par contre les valeurs des paramètres, la correspondance entre les id et les appareils, et l'affichage du QA pourraient être plus utiles. -
Comment faire pour comparer les valeurs de deux appareils
Barelle a répondu à un(e) sujet de Jean Louis DURET dans Support
Le QA proposé se comporte comme un thermomètre qui affiche la différence entre les valeurs de deux devices. Installe le, et dans ton cas, change le paramètre deviceId1 à la valeur 330 et le paramètre deviceId2 à la valeur 340. Ce QA te retournera la différence des valeurs et tu pourras l'interroger dans tes scènes comme n'importe quel thermomètre. -
Comment faire pour comparer les valeurs de deux appareils
Barelle a répondu à un(e) sujet de Jean Louis DURET dans Support
Pour répondre à l’impossibilité de comparer les valeurs de deux dispositifs, je propose un QA qui interrogera les valeurs et qui stockera la différence dans sa propre valeur. Ce QA, voir ci-dessous, attend trois variables : Une variable "refreshDelay" qui contiendra la période (en secondes) de rafraichissement de la valeur calculée ; Deux variables "deviceId1" et "deviceId2" précisant les id des dispositifs dont il faudra réaliser la comparaison des valeurs. Note : un QA générique ne possédant pas l’attribut "value", j’ai retenu pour ce QA un type "Capteur de température". Le code lua : local myVersion = "0.12"; -- Barelle le 14/04/2025 : création local delay = 60; -- secondes local devId1, devId2 = 0, 0; local dev1Lbl = "Device 1"; local dev2Lbl = "Device 2"; local selfId = plugin.mainDeviceId; __TAG = "Comparaison_"..plugin.mainDeviceId; function QuickApp:onInit() local initError = false; local initErrorCause = ""; local testVariable = function(varName, defaultValue) local var = self:getVariable(varName); if (var == "") or (var == nil) then var = defaultValue; self:setVariable(varName, var); if type(var) == "table" then self:warning("QuickApp:onInit>testVariable>>>🤨 Variable \"" .. varName .. "\" not defined, now sets to " .. json.encode(var)); else self:warning("QuickApp:onInit>testVariable>>>🤨 Variable \"" .. varName .. "\" not defined, now sets to " .. stuffToString(var)); end else if type(var) == "table" then self:debug('QuickApp:onInit>testVariable>>>😐 variable "'..varName..'"='..json.encode(var), "SeaGreen"); else self:debug('QuickApp:onInit>testVariable>>>😐 variable "'..varName..'"='..tostring(var)); end end return var; end -- testVariable self:trace("*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* [" .. __TAG .. "] onInit (version " .. myVersion .. ") *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*"); -- 0) Check if QuickApp device is enabled if api.get("/devices/" .. tostring(selfId)).enabled then self:updateProperty("log", ""); else self:updateProperty("log", "❌ Disabled ❌"); self:warning("QuickApp:onInit>>>Device " .. self.name .. " is disabled => QuickApp stopped."); return; end -- 1) On récupère le delai de raffraichissement des données delay = testVariable("refreshDelay", delay); self:trace('onInit>>>🙂 Variable "refreshDelay"=' .. delay .. ' seconds.'); -- 2) On récupère l'Id du premier appareil devId1 = tonumber(testVariable("deviceId1", devId1)); self:trace('onInit>>>🙂 Variable "deviceId1"=' .. devId1 .. '.'); -- 3) On récupère l'Id du second appareil devId2 = tonumber(testVariable("deviceId2", devId2)); self:trace('onInit>>>🙂 Variable "deviceId2"=' .. devId2 .. '.'); -- 4) On vérifie que les paramètres sont bons if (devId1 > 1) and (devId2 > 1) then local val1 = hub.getValue(devId1, 'value'); if (type(val1) ~= "number") then initError = true; initErrorCause = '🥵 Invalid device "deviceId1" : ' .. devId1; dev1Lbl = "Device 1 (id: " .. devId1 .. ")"; else dev1Lbl = "Device 1 (id: " .. devId1 .. ") value=" .. val1; end local val2 = hub.getValue(devId2, 'value'); if (type(val2) ~= "number") then initError = true; initErrorCause = initErrorCause ..' 🥵 Invalid device "deviceId2" : ' .. devId2; dev2Lbl = "Device 2 (id: " .. devId2 .. ")"; else dev2Lbl = "Device 2 (id: " .. devId2 .. ") value=" .. val2; end if (type(val1) == "number") and (type(val2) ~= "number") then self:updateProperty("value", val1-val2); end else initError = true; dev1Lbl = "Device 1 (id: " .. devId1 .. ")"; dev2Lbl = "Device 2 (id: " .. devId2 .. ")"; initErrorCause = '🥵 Paramètres invalides.'; end -- 5) On met à jour l'interface utilisateur self:updateView("dev1Lbl", "text", dev1Lbl); self:updateView("dev2Lbl", "text", dev2Lbl); self:updateView("majLbl", "text", "Le " ..os.date ("%d/%m/%Y à %H:%M:%S", os.time()) .. "."); if initError then self:warning(initErrorCause); self:updateView("resultLbl", "text", initErrorCause); self:updateProperty("value", 0); self:updateProperty("log", "❌ Erreur ❌"); else self:loop(delay); end end -- QuickApp:onInit function QuickApp:loop(delay) -- Check if QuickApp device is enabled if api.get("/devices/"..tostring(self.id)).enabled then self:updateProperty("log", ""); else self:updateProperty("log", "❌ Disabled ❌"); self:warning("Device", self.name, "is disabled => QuickApp stopped"); return end local valDev1 = hub.getValue(devId1, 'value'); local valDev2 = hub.getValue(devId2, 'value'); local ecart = valDev1 - valDev2; self:updateView("dev1Lbl", "text", "Device 1 (id: " .. devId1 .. "), value = " .. valDev1); self:updateView("dev2Lbl", "text", "Device 2 (id: " .. devId2 .. "), value = " .. valDev2); self:updateProperty("value", ecart); self:updateProperty("log", "Ecart = " .. ecart); self:updateView("resultLbl", "text", "L'écart entre les valeurs est de " .. ecart .. "."); self:updateView("majLbl", "text", "Le " ..os.date ("%d/%m/%Y à %H:%M:%S", os.time()) .. "."); self:trace("QuickApp:loop>>>Le QA a été mis a jour : prochaine mise à jour dans " .. delay .. " secondes."); hub.setTimeout(delay * 1000, function() self:loop(delay); end) end -- QuickApp:loop function stuffToString(stuff) local typ = type(stuff); if typ == "nil" then return "nil"; elseif typ == "string" then return stuff; elseif typ == "number" then return tostring(stuff); elseif typ == "boolean" then return iif(stuff, "true", "false"); elseif typ == "table" then return json.encode(stuff); elseif typ == "function" then return "function"; elseif typ == "userdata" then return "userdata"; elseif typ == "thread" then return "\"thread\" not supported by Fibaro!"; else return "unknown Lua variable type: "..typ; end end -- stuffToString Le fichier du QA : Comparaison-0.12.fqa
