Aller au contenu

Barelle

Membres confirmés
  • Compteur de contenus

    339
  • Inscription

  • Dernière visite

  • Jours gagnés

    19

Tout ce qui a été posté par Barelle

  1. Barelle

    My Batteries

    Merci, pour être plus clair, on pourrait également remplacer les "???" par "id:"..v.id cela permettrait d'obtenir une information sur le module...
  2. Barelle

    My Batteries

    @flamalex Attention, pour les modules non assignés à une pièce, room vaut zéro et fibaro:getRoomNameByDeviceID(v.id) retourne nil... Je propose : local room = fibaro:getRoomName(fibaro:getRoomID(v.id)); if (room == nil) then room = "???"; end table.insert(modules, {batt, v.name .. " (" ..room..")"});
  3. Bonsoir à tous, N° série : HC2-027100 Date achat : 11/2015
  4. Bravo Steven, cela marche au poil... Pour éviter de devoir mettre à jour la variable decalage à chaque changement d'heure, je te propose d'insérer dans la fonction "toHour" le code suivant après la déclaration "local h,m,s,am = s:match(pattern)" if (maintenant.isdst) then Self.decalage = 2; -- Heure d'été else Self.decalage = 1; -- Heure d'hiver end étant entendu que cela est valable pour la France métropolitaine, puisque cela ne prend pas en compte le fuseau horaire.
  5. Aà¯e, aà¯e aà¯e ! Bizutage ? Bon, si je trouve le temps, je m'y mets...
  6. Souvent, découvrant leur nouveau joujou, les débutants (en lua) sont amenés à parcourir cet excellent forum à la recherche de la bonne syntaxe, ainsi, j'ai découvert la fonction api.get dans le tutoriel http://www.domotique-fibaro.fr/index.php/topic/4439-cr%C3%A9e-une-variable-globale-ou-une-variable-globale-predefinie-en-lua/ dans une réponse de mprinfo. De part sa concision, celle-ci a eu ma préférence. Maintenant, j'ignorais qu'elle n'est pas disponible dans les VD, encore une curiosité dont la logique m'échappe. @mprinfo, un tutoriel, pourquoi pas ? Mais je ne vois pas très bien quoi détailler, ce bout de code ne consiste qu'en l'analyse de la réponse de l'API, et pour un petit nouveau membre de moins de dix messages, publier un tutoriel serait quelque peu prétentieux... A tous, merci de vos aimables commentaires.
  7. Et dans une ligne en commentaire ? Ce qui est sà»r, c'est que le nom de la variable fait partie des informations retournées par l'API.
  8. Bonjour, Pour savoir où les variables globales sont utilisées, je vous propose la scène ci-après qui permet de lister, dans la fenêtre de debug, les variables globales et les endroits où elles sont utilisées : --[[ This scene is used to list all the global variables and where they are used. Its a kind of xref. --]] local globalVariables = api.get("/globalVariables"); -- Get all globals variables, local scenes = api.get("/scenes"); -- all the scenes local devices = api.get("/devices"); -- and all the devices local txt = '<BR><BR><font color="yellow">Globals Xref on : ' .. os.date("%d/%m/%y à %X") .. '</font><BR>'; for _, v in pairs(globalVariables) do -- For each global variable txt = txt .. '<BR><font color="Orange">' .. v.name .. ' :</font>'; local used = false; for _, s in pairs(scenes) do -- For each scene local scene = api.get("/scenes/" .. s.id); if scene.triggers.globals ~= nil then for _, g in pairs(scene.triggers.globals) do -- We look each trigger if (g ~= nil) and (g == v.name) then txt = txt .. '<BR><font color="lightgreen"> - trigger in scene "' .. s.name.. '"</font>'; used = true; end end end -- On inspecte le code lua if (scene.isLua ~= nil) and (scene.isLua == true) and (string.find(scene.lua, v.name) ~= nil) then txt = txt .. '<BR><font color="Chartreuse"> - used in scene "' .. s.name .. '"</font>'; used = true; end end -- for _, s in pairs(scenes) for _,device in pairs(devices) do -- On parcourt les devices if device.type == "virtual_device" then -- For others types there is no lua code if (device.properties.mainLoop ~= nil) and (string.find(device.properties.mainLoop, v.name) ~= nil) then txt = txt .. '<BR><font color="DeepSkyBlue"> - used in VD "' .. device.name .. '" mainloop</font>'; used = true; end local rows = device.properties.rows; for _, r in pairs(rows) do if (r ~= nil) and (r.elements ~= nil) then for _,e in pairs(r.elements) do if (e.lua ~= nil) and (e.lua == true) then if (e.msg ~= nil) and (string.find(e.msg, v.name) ~= nil) then txt = txt .. "<BR><font color='LightSkyBlue'> - used in " .. '"' .. e.name .. '" (id: ' .. e.id .. ') of "' .. device.name .. '" VD</font>'; used = true; end end end end end end end -- for _,d in pairs(devices) if not used then txt = txt .. "<font color='Magenta'> unused</font>"; end end fibaro:debug(txt);
  9. Bonsoir, Et voilà , j'ai profité de ma soirée pour déballer ma toute nouvelle HC2 et quelques accessoires Fibaro pour bientôt commencer la domotique. Mais avant, he mets en place la récupération des informations de téléinformation pour suivre ma consommation (avec un Raspberry venant mettre à jour une base MariaDb sur un Nas Synology), ayant un abonnement Tempo, ce genre de suivi est, à mon avis totalement nécessaire. Le compteur électrique étant en limite de mon terrain, je suis contraint d'en installer un nouveau avoir la téléinformation. En parrallèle, je me familiarise avec la HC2 et compte bien profiter de la richesse des informations du forum pour progresser. A bientôt
×
×
  • Créer...