Aller au contenu

Steven

Membres confirmés
  • Compteur de contenus

    4 434
  • Inscription

  • Dernière visite

  • Jours gagnés

    201

Tout ce qui a été posté par Steven

  1. Dans ton VD, tu met un label supplémentaire "Traitement en cours" et tant que celui-ci contient "OUI" et ben tu attends en pseudo-code : while (fibaro:getValue(vd_id, "ui.Encours.label") == "OUI") do fibaro:sleep(2000) if (timeout) then -- en cas d attente trop longue, prevoir une sortie fibaro:abort() end end fibaro:call(vd_id, "setProperty", "ui.Encours.label", "OUI") fibaro:call(vd_id, "setProperty", "ui.label_1_0.value", syslog_message) fibaro:call(vd_id, "pressButton", bt_nb) fibaro:call(vd_id, "setProperty", "ui.Encours.label", "NON")
  2. Je vois pas trop l'utilité que tu comptes en faire. Je ne connais pas l'existence d'un identifiant d'instance par contre, tu peux utiliser le fibaro:countScenes() pour avoir le nombre d'instance en cours. Ainsi, tu vas pouvoir les ordonner.
  3. Si vous modifier GEA, il y avait aussi le "setTargetLevel" qui avait été demandé de longue date.
  4. local scene = api.get("/scenes/" .. __fibaroSceneId) print( scene.name ) Ces propriétés ne sont malheureusement pas documentées, il faut décortiquer le code de Fibaro. Dans ce cas de figure, j'ai trouvé l'info dans le fichier opt/fibaro/FibaroSceneAPI.lua
  5. Steven

    Documentations Fibaro HCL et HC2

    Ils y a aussi la Docs qui se trouve sur nos box http://..../docs Envoyé de mon SM-G935F en utilisant Tapatalk
  6. Steven

    [Help] Piloter un Poêle Palazzetti

    Normalement, c'est que le retour de ta requête ne respecte pas correctement le format json 🙁 Envoyé de mon SM-G935F en utilisant Tapatalk
  7. Steven

    Mainloop Lua VD

    local val3 = round((tonumber(fibaro:getGlobalValue("OS445197056_V1"))* 1000 / 3600), 2).. " km/h" Envoyé de mon SM-G935F en utilisant Tapatalk
  8. Steven

    Mainloop Lua VD

    Marchera pas car val3 contient déjà "km/h", faut le faire avant. Envoyé de mon SM-G935F en utilisant Tapatalk
  9. Steven

    Mainloop Lua VD

    C'est beau ça .. bien joué. Il y a juste les arrondis qui dérange. Tu pourrais donc coller au début de ton code ceci : -- arrondi le num avec n décimal -- function round(num, n) local mult = 10^(n or 0) return math.floor(num * mult + 0.5) / mult end puis remplacer : fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label4.value", val3) par fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label4.value", round(val3, 2))
  10. Steven

    [Help] Piloter un Poêle Palazzetti

    Pour commencer tu ne peux pas modifier le libellé d'un bouton, tu vas donc devoir insérer un "label" dans ton VD. Une fois que c'est fait, tu peux ajouter le code suivant dans ton main loop et voir ce que cela donne : local ip_adresse = "192.168.1.xxx" local label = "Label1" -- Intérogation local HC2 = Net.FHttp(ip_adresse) local response = HC2:GET("/sendmsg.php?cmd=GET+SETP") local resp = json.decode(response) -- Affichage du résultat dans le label fibaro:call(fibaro:getSelfId(), "setProperty", "ui".. label ..".value", resp.Setpoint.SETP) Derrière le bouton qui ajoute 1°, tu peux essayer de coller ce code (une fois que tu auras fais la partie ci-dessus) : local ip_adresse = "192.168.1.xxx" local label = "Label1" local increment = 1 local value = tonumber(fibaro:getValue(fibaro:getSelfId(), "ui".. label ..".value")) local HC2 = Net.FHttp(ip_adresse) local response = HC2:GET("/sendmsg.php?cmd=SET+SETP+"..(value+increment)) Après on verra pour mettre l'adresse IP au bon endroit mais cela permet de tester
  11. Il y a aussi fibaro:setSceneEnabled(<id>, false|true) Qui peut être utilisé pour éviter l’exécution de certaines scènes. On peut par exemple désactiver des scènes à certaines heures puis les remettre à true plus tard.
  12. Steven

    Mainloop Lua VD

    Pour la direction du vent, si je suis la logique de ton code, tu devrais avoir cela : function getDirection(degre) local directions = {N=0, NNE=22.5, NE=45, ENE=67.5, E=90, ESE=112.5, SE=135, SSE=157.5, S=180, SSO=202.5, SO=225, OSO=247.5, O=270, ONO=292.5, NO=315, NNO=337.5} local dif = 0 local min = 1000 local res = "" for k,v in pairs(directions) do dif = math.abs(degre - v) if (dif <= min) then res = k min = dif end end return res end fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label5.value", getDirection(tonumber(fibaro:getGlobalValue("OS445197056_V2"))))
  13. Steven

    Mainloop Lua VD

    Pour concaténer (mettre ensemble 2 chaînes de caractères) il faut utiliser .. (deux point). Exemple : local val1 = "23°C" local val2 = "47%" local texte = "Température : " .. val1 .. " / Humidité : " .. val2 fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label1.value", texte)
  14. Le soucis est que cela ne rafraîchis pas les icônes automatiquement comme dans un VD : api.put("/scenes/" .. __fibaroSceneId, {["iconID"]=1016})
  15. Steven

    Questionnement suite à crash...

    Je me suis posé les mêmes questions que toi, il y a de cela quelques jours .. et je te rassure, je n'ai toujours pas de réponse. Perso, j'ai fais en sorte que si ma box plante, il me suffit d'appuyer sur un ou deux boutons pour que tout fonctionne sans domotique mais je sais que cela n'est pas possible pour toutes les configurations. En tout cas, je suis de tout cœur avec toi.
  16. Steven

    NODON Détecteur d'ouverture EnOcean

    De mémoire oui mais je ne suis pas spécialiste des "Fake Device" ... ça c'est @Lazer :-)
  17. Steven

    NODON Détecteur d'ouverture EnOcean

    Est-ce que tu as un module de détection d'ouverture/fermeture z-wave ? Si oui, tu peux regarder les "Fake device" et on peux te donner plus d'info.
  18. Steven

    Mainloop Lua VD

    Allez, pour la direction tu peux utiliser cette méthode si tu en as besoin, elle va te retourner les cardinalités en lieu et place des degrés function getDirection(degre) local directions = {N=0, NNE=22.5, NE=45, ENE=67.5, E=90, ESE=112.5, SE=135, SSE=157.5, S=180, SSO=202.5, SO=225, OSO=247.5, O=270, ONO=292.5, NO=315, NNO=337.5} local dif = 0 local min = 1000 local res = "" for k,v in pairs(directions) do dif = math.abs(degre - v) if (dif <= min) then res = k min = dif end end return res end print( getDirection(102) )
  19. Steven

    Mainloop Lua VD

    4.6 m/s = 4.6 * 1000 / 3600 = 16.56 Km/h Pour la direction c'est moins drôle 135° = SE:
  20. Steven

    Mainloop Lua VD

    J'ai eu des Oregon et oui le fonctionnement est exactement le même. Pour le WGR800, je l'ai jamais essayé mais je pense qu'il retourne la force (V1) et la direction (V2) donc avec un peu de chance, il n'y a rien à faire comme calcul, à moins que la direction soit en dégré et la force en miles/secondes .. lol, cela reste encore possible.
  21. Steven

    Mainloop Lua VD

    Ah, oui, en effet, il y a ce petit détail propre à la Zibase :-) J'ai encore ma Zibase qui fonctionne donc si tu as besoin d'autre chose, hésite pas. local val = (tonumber(fibaro:getGlobalValue("OSXXXXXX_V2")) / 10) .. " °C"
  22. Steven

    Mainloop Lua VD

    Dis moi simplement ce que tu souhaites faire car ce tuto date du moyen age et je m'en souviens même plus. Si tu veux juste créer un VD qui affiche le contenu d'une variable, tu fais ainsi : Créer un VD Ajouter un label au VD "Label1" Ajouter dans le main loop le code suivant local val = fibaro:getGlobalValue("OSXXXXXX_V2") fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label1.value", val) J'ai pas testé mais cela devrait fonctionner.
  23. Steven

    Mainloop Lua VD

    C'est vieux cela :-) Zibase_Script.vfib
  24. Si tu fais un message du style : Coucou#spaces20#comment Il va marqué dans le logs ceci : Coucou comment En fait, il remplace #spacesXX# par autant de points noirs (donc invisible) que le nombre indiqué.
  25. print(__fibaroSceneId)
×
×
  • Créer...