
rahany
Membres confirmés-
Compteur de contenus
48 -
Inscription
-
Dernière visite
-
Jours gagnés
1
Tout ce qui a été posté par rahany
-
Bin après une semaine de test, très concluant....ts fonctionne correctement Scéne LUA avec mes variables ainsi que les scènes en mode bloc utilisant les variables. Donc sujet clos. Merci encore pour vos aides. Et bonnes vacances pour ceux qui partent en juillet.
-
Bon j'ai testé et ça àfonctionné 2 jrs, mais today no. bon je vais attendre la fin de la semaine pour faire un bilan.
-
ok, je crois que l'heure c'est parce que le changement d'heure à lieu à 3h00 du matin donc, par précaution il le lance à 4H15. Je remplace les lignes si dessus et le script ce lancera tous les jours à 4h15 et ma variable "Saison" sera à jour, et donc mes scènes avec la variable "Été ou Hiver" ce déclencheront normalement. Je vais tester çà . j'espère que je tiens le bon bout. .
-
Ok, je viens de prendre le code de KriKoff, mais comme je ne comprends pas trop ( voir rien du tout au code) Pouvez-vous me dire SVP, si ce code est bon, avec la variable : Saison - Été / Hiver ? Par avance merci de votre retour. --[[ %% autostart %% properties %% globals --]] function check() -- récupération table Date local dt = os.date("*t"); -- création de la chaîne pour affichage local display = dt.hour..":"..dt.min..":"..dt.sec.." Heure d'été -> "..tostring(dt.isdst); -- Sortie de la variable vers la fenêtre debug du HC2 -- false pour hiver, true pour été fibaro:debug(display); -- mise à jour de la variable if (dt.isdst) then fibaro:setGlobal("Saison", "Eté"); else fibaro:setGlobal("Saison","Hiver"); end end local sourceTrigger = fibaro:getSourceTrigger(); if (sourceTrigger["type"] == "autostart") then while true do local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if ( ( ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "04:15") )) then check(); end fibaro:sleep(60*1000); end else local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if (startSource["type"] == "other") then check(); end end
-
ok merci de l'info, qu'elle est la ligne de code pour que la scène ce déclenche tt les jours pour connaitre la saison alors ? Ou comment dois-je modifier le code pour que cela fonctionne
-
Bonsoir, Je souhaite déclencher plusieurs scènes selon la saison. ( Été - Hiver ) J'ai créé une variable Saison avec 2 arguments Été et Hiver. Créer la scène en script, avec le code ci-dessous, pour connaitre la saison. Mais cela ne fonctionne pas Attention, ce n'est pas mon code je l'ai trouvé sur le forum, et je crois que c'est krikoff qui l'a écrit. local startSource = fibaro:getSourceTrigger(); if ( startSource["type"] == "other" ) then -- récupération table Date local dt = os.date("*t"); -- création de la chaîne pour affichage local display = dt.hour..":"..dt.min..":"..dt.sec.." Heure d'été -> "..tostring(dt.isdst); -- Sortie de la variable vers la fenêtre debug du HC2 -- false pour hiver, true pour été fibaro:debug(display); -- mise à jour de la variable if (dt.isdst) then fibaro:setGlobal("Saison","Ete"); else fibaro:setGlobal("Saison","Hiver"); end end Par contre, quand je crée les scènes en mode bloc comme ci-dessous, tout fonctionne correctement. un petite aide m'siou
-
euh je ne pense qu'il y a pas de "" avant et après les variable, exemple : -- ton code indiqué ci-dessus "partie 1 ".. ("\n") .."partie 2" -- le code dans mon cas partie 1 .. ("\n") .. partie 2 cependant quand je regarde le code il me semble que c'est du json. peut-être que cela vient de là .
-
Je viens de suivre ton conseil. merci
-
Le VD au complet prêt à être importé pour ce qui le souhaite. Alarm.vfib.zip
-
Petite mise à jour, du code avec un " SendPush" sur les 2 boutons (Activé / Desactié ) vers la ligne 75. -- À ajouter dans le code du bouton "Activé". fibaro:call(ID_de_votre_mobile, "sendPush","SENSORS"..Not_Armed_Devices_ID) -- À ajouter dans le code du bouton "Désactivé". fibaro:call(ID_de_votre_mobile, "sendPush","SENSORS"..Not_Disarmed_Devices_ID)
-
La critique est constructive du moment quelle reste positive si qui est le cas. donc je ne vois rien de mal dans ta critique. Ben pour tous dire je ne suis pas un développeur et je ne comprends pas tt dans le code. Donc si il y a moyen, apparement oui, d’optimiser le code, faut pas hésiter à le soumettre. L'intérêt que j'ai pour le check est : Si il y a pas tt les modules armed/disarmed alors ça l'indique le dans un label. Pour mes connecteurs de fenêtre par exemple cela veut dire dans mon cas, la fenêtre n'est pas fermée. c'est vraie que l'option optimisée du code serait : avant de basculer les door_senor ou window_sensor en Armed ==> vérifier s'ils sont tous en mode normal Si oui ==> bascule les tous en armed / si ce n’est pas le cas, ==> alors envoi une notification par Push ou mail. Mais je ne suis pas dev .
-
je post le code des boutons. "Activé et Desactivé" en attend l'autorisation d'uploader le ficher complet. Je ne passe pas par la case création d'un VD car il y a un très bon tuto là -dessus le forum. Dans mon cas 2, boutons + 2 étiquettes pour afficher le résultat de chaque action : bouton " activé" HC2 = Net.FHttp("127.0.0.1",11111); local debug = false --Enable debug.. local Not_Armed_Devices_ID = "" -- Function for getting status of devices Get_Devices_Status = function() -- get response from H2 about all your devices local response ,status, errorCode = HC2:GET("/api/devices") -- Look for error if errorCode == 0 then fibaro:debug("No errors getting devices, decoding answer") else fibaro:debug("Error, code:" .. errorCode) fibaro:debug("Scene aborted") end -- Decode json string to table jsonTable = json.decode(response) end Arm_Devices = function() fibaro:debug("Arming devices") -- Loop trough table and detect sensors.. for key, id in ipairs(jsonTable) do -- If its a sensor then if jsonTable[key].type == "com.fibaro.FGMS001" or jsonTable[key].type == "com.fibaro.windowSensor" or jsonTable[key].type == "com.fibaro.doorSensor" then if debug then fibaro:debug("Device ID:" .. jsonTable[key].id .. " Type:" .. jsonTable[key].type .. " Name:" .. jsonTable[key].name) end --Enable if you want to arm sensor fibaro:call(jsonTable[key].id, "setArmed", "1") end end end Check_Armed_Devices = function() fibaro:debug("Checking armed devices") -- Loop through the updated table for key, id in ipairs(jsonTable) do if jsonTable[key].type == "com.fibaro.FGMS001" or jsonTable[key].type == "com.fibaro.windowSensor" or jsonTable[key].type == "com.fibaro.doorSensor" then if debug then fibaro:debug("Device ID:" .. jsonTable[key].id .. " Type:" .. jsonTable[key].type .. " Name:" .. jsonTable[key].name) end if debug then fibaro:debug("Armed Status =" .. fibaro:getValue(jsonTable[key].id, "armed")) end if tonumber(fibaro:getValue(jsonTable[key].id, "armed")) == 0 then local temp_ID = jsonTable[key].name Not_Armed_Devices_ID = Not_Armed_Devices_ID .. ("\n") .. temp_ID -- Add your actions here if the device is not armed! end end end end Send_Email = function() --Use this info to send push about not armed devices fibaro:debug("Devices not armed=" .. Not_Armed_Devices_ID ) --Enable to send push, you have non enables sensor ID´s in variable above --fibaro:call(2, "sendEmail","SENSORS"..Not_Armed_Devices_ID) -- ID is id# of your mobile -- Affichage des Device non armé fibaro:call(fibaro:getSelfId(), "setProperty", "ui.noarmed.value", Not_Armed_Devices_ID); end -- Get current status of devices Get_Devices_Status() -- Arm devices Arm_Devices() -- Wait for everything to get in order fibaro:sleep(5*1000) -- wait a while.. -- Get current status of devices Get_Devices_Status() --Have a look if they are all armed. Check_Armed_Devices() --Send info to phone Send_Email() fibaro:debug("Done!") et le bouton "désactivé" HC2 = Net.FHttp("127.0.0.1",11111); local debug = false --Enable debug.. local Not_Disarmed_Devices_ID = "" -- Function for getting status of devices Get_Devices_Status = function() -- get response from H2 about all your devices local response ,status, errorCode = HC2:GET("/api/devices") -- Look for error if errorCode == 0 then fibaro:debug("No errors getting devices, decoding answer") else fibaro:debug("Error, code:" .. errorCode) fibaro:debug("Scene aborted") end -- Decode json string to table jsonTable = json.decode(response) end Disarm_Devices = function() fibaro:debug("Disarming devices") -- Loop trough table and detect sensors.. for key, id in ipairs(jsonTable) do -- If its a sensor then if jsonTable[key].type == "com.fibaro.FGMS001" or jsonTable[key].type == "com.fibaro.windowSensor" or jsonTable[key].type == "com.fibaro.doorSensor" then if debug then fibaro:debug("Device ID:" .. jsonTable[key].id .. " Type:" .. jsonTable[key].type .. " Name:" .. jsonTable[key].name) end --Enable if you want to arm sensor fibaro:call(jsonTable[key].id, "setArmed", "0") end end end Check_Disarmed_Devices = function() fibaro:debug("Checking Disarmed devices") -- Loop through the updated table for key, id in ipairs(jsonTable) do if jsonTable[key].type == "com.fibaro.FGMS001" or jsonTable[key].type == "com.fibaro.windowSensor" or jsonTable[key].type == "com.fibaro.doorSensor" then if debug then fibaro:debug("Device ID:" .. jsonTable[key].id .. " Type:" .. jsonTable[key].type .. " Name:" .. jsonTable[key].name) end if debug then fibaro:debug("Disarmed Status =" .. fibaro:getValue(jsonTable[key].id, "armed")) end if tonumber(fibaro:getValue(jsonTable[key].id, "armed")) == 1 then local temp_ID = jsonTable[key].name Not_Disarmed_Devices_ID = Not_Disarmed_Devices_ID .. ("\n") .. temp_ID -- Add your actions here if the device is not armed! end end end end Send_Push = function() --Use this info to send push about not armed devices fibaro:debug("Devices not Disarmed=" .. Not_Disarmed_Devices_ID ) --Enable to send push, you have non enables sensor ID´s in variable above --fibaro:call(YOUR_ID_GOES_HERE, "sendPush", "SENSORS") -- ID is id# of your mobile -- Affichage des Device non armé fibaro:call(fibaro:getSelfId(), "setProperty", "ui.nodiarmed.value", Not_Disarmed_Devices_ID); end -- Get current status of devices Get_Devices_Status() -- Disarm devices Disarm_Devices() -- Wait for everything to get in order fibaro:sleep(5*1000) -- wait a while.. -- Get current status of devices Get_Devices_Status() --Have a look if they are all armed. Check_Disarmed_Devices() --Send info to phone Send_Push() fibaro:debug("Done!") @MasterBT : regarde à la ligne 60 il y a toutes la ligne pour le retour chariot. à‡a peut peut-être t'aider.
-
Bon voilà , j'ai fini le VD que vous trouverez à dispo. Le retour à la ligne fonctionne sur les labels seulement via la page web. Via l'iPhone ( pas test sur Android) mes champs sont vides, dà» au code suivant ==> ("\n"), qui est interprété de manière différente. . Je regarderai cela un peu plus tard. Si une bonne âme peut m'aider sur cette affaire je prends. Ce module sert à activer tous les modules types FGMS / FGK en mode "armed" et me remonte une info si un des modules n'est pas passé "armed" idem pour le bouton désactivé. Je tiens à préciser que ce n'est pas mon CODE, comme déjà évoqué au début du post, il a été fait part SPEEDY, que j'ai mis à ma sauce. @Pilou, super intéressant, mais dans mon cas pas trop utile pour le moment. ( je le garde dans un coin, car il me servira quand je ferai des évolutions, merci pour ton retour ) Ci - dessous le résultat. Messieurs les ROIS du forum, apparemment je n'ai pas les droits pour upload un fichier vfib.json. une petite aide sur cette partie
-
bon je n'ai pas pu résister à tester tt de suite .. et j'ai trouvé la solution à mon problème. Pour le retour à la ligne ou retour chariot dans un Label dans mon cas j'ai mis variable = variable .. ("\n") .. temp_ID En mettant ("\n") ==> mon texte dans le label retour à la ligne pour chaque résultat. Cependant quand on est en mode débug il n'y a pas de retour chariot. Dans le mode avancé de la VD, il y a un retour à la ligne par rapport à la taille de la fenêtre, pour voir un résultat correct il faut tester la VD directement via la page "Home" par exemple .... Voilà j'espere que ça pourra aider certain Je finis ma VD et je posterai le code un peu plus tard.
-
Je teste cela demain, et vous tiens informé
-
ok pour le code je le mettrai àdispo.
-
Ok donc si j'ai bien compris, on ne peut pas custom le texte . Bon bin merci qd même pour le retour. Super tuto en tt cas .
-
Bonjour, Comme conseillé par "PEPITE" je mets a dispo le VD pour activer tous les modules types FGMS / FGK en mode "armed" et remonte une info si un des modules n'est pas passé "armed" idem pour le bouton désactivé, avec push SMS. Fichier : Alarm.vfib.zip ex : ci-dessous. -- Pour info -- , J’ai créé ce module grâce au code de SPEEDY, en modifiant une infime partie. Un grand MERCI à lui et aux tutos trouvés sur ce forum qui m'ont été d’une aide précieuse ;o) -- lien du code : http://forum.fibaro.com/index.php?/topic/16666-alarm-scenes-how-to-configure-it/?hl=%2Balarm+%2Bscenes+%2Bhow+%2Bconfigure ------------------ pour avoir un retour chariot dans chaque étiquette j'ai ajouté le code suivant : nom_de_ma_variable = no_de_ma_variable .. ("\n") .. temp_ID !! WARNING !! Fonctionne ==> via la page "Home" par exemple .... Fonctionne PAS ==> en mode débug / Dans le mode avancé de la VD / App smartphone ( iOS ) ------- / Pour avoir une alert SMS sur le retour de l'etat une fois armed / disarmed. -- À ajouter dans le code du bouton "Activé". fibaro:call(ID_de_votre_mobile, "sendPush","SENSORS"..Not_Armed_Devices_ID) -- À ajouter dans le code du bouton "Désactivé". fibaro:call(ID_de_votre_mobile, "sendPush","SENSORS"..Not_Disarmed_Devices_ID) ------ / ci-dessous le code du bouton "Activé" HC2 = Net.FHttp("127.0.0.1",11111); local debug = false --Enable debug.. local Not_Armed_Devices_ID = "" -- Function for getting status of devices Get_Devices_Status = function() -- get response from H2 about all your devices local response ,status, errorCode = HC2:GET("/api/devices") -- Look for error if errorCode == 0 then fibaro:debug("No errors getting devices, decoding answer") else fibaro:debug("Error, code:" .. errorCode) fibaro:debug("Scene aborted") end -- Decode json string to table jsonTable = json.decode(response) end Arm_Devices = function() fibaro:debug("Arming devices") -- Loop trough table and detect sensors.. for key, id in ipairs(jsonTable) do -- If its a sensor then if jsonTable[key].type == "com.fibaro.FGMS001" or jsonTable[key].type == "com.fibaro.windowSensor" or jsonTable[key].type == "com.fibaro.doorSensor" then if debug then fibaro:debug("Device ID:" .. jsonTable[key].id .. " Type:" .. jsonTable[key].type .. " Name:" .. jsonTable[key].name) end --Enable if you want to arm sensor fibaro:call(jsonTable[key].id, "setArmed", "1") end end end Check_Armed_Devices = function() fibaro:debug("Checking armed devices") -- Loop through the updated table for key, id in ipairs(jsonTable) do if jsonTable[key].type == "com.fibaro.FGMS001" or jsonTable[key].type == "com.fibaro.windowSensor" or jsonTable[key].type == "com.fibaro.doorSensor" then if debug then fibaro:debug("Device ID:" .. jsonTable[key].id .. " Type:" .. jsonTable[key].type .. " Name:" .. jsonTable[key].name) end if debug then fibaro:debug("Armed Status =" .. fibaro:getValue(jsonTable[key].id, "armed")) end if tonumber(fibaro:getValue(jsonTable[key].id, "armed")) == 0 then local temp_ID = jsonTable[key].name Not_Armed_Devices_ID = Not_Armed_Devices_ID .. ("\n") .. temp_ID -- Add your actions here if the device is not armed! end end end end Send_Email = function() --Use this info to send push about not armed devices fibaro:debug("Devices not armed=" .. Not_Armed_Devices_ID ) --Enable to send push, you have non enables sensor ID´s in variable above --fibaro:call(2, "sendEmail","SENSORS"..Not_Armed_Devices_ID) -- ID is id# of your mobile -- Affichage des Device non armé fibaro:call(fibaro:getSelfId(), "setProperty", "ui.noarmed.value", Not_Armed_Devices_ID); end -- Get current status of devices Get_Devices_Status() -- Arm devices Arm_Devices() -- Wait for everything to get in order fibaro:sleep(5*1000) -- wait a while.. -- Get current status of devices Get_Devices_Status() --Have a look if they are all armed. Check_Armed_Devices() --Send info to phone Send_Email() fibaro:debug("Done!") ci-dessous le code du bouton "Désactivé" HC2 = Net.FHttp("127.0.0.1",11111); local debug = false --Enable debug.. local Not_Disarmed_Devices_ID = "" -- Function for getting status of devices Get_Devices_Status = function() -- get response from H2 about all your devices local response ,status, errorCode = HC2:GET("/api/devices") -- Look for error if errorCode == 0 then fibaro:debug("No errors getting devices, decoding answer") else fibaro:debug("Error, code:" .. errorCode) fibaro:debug("Scene aborted") end -- Decode json string to table jsonTable = json.decode(response) end Disarm_Devices = function() fibaro:debug("Disarming devices") -- Loop trough table and detect sensors.. for key, id in ipairs(jsonTable) do -- If its a sensor then if jsonTable[key].type == "com.fibaro.FGMS001" or jsonTable[key].type == "com.fibaro.windowSensor" or jsonTable[key].type == "com.fibaro.doorSensor" then if debug then fibaro:debug("Device ID:" .. jsonTable[key].id .. " Type:" .. jsonTable[key].type .. " Name:" .. jsonTable[key].name) end --Enable if you want to arm sensor fibaro:call(jsonTable[key].id, "setArmed", "0") end end end Check_Disarmed_Devices = function() fibaro:debug("Checking Disarmed devices") -- Loop through the updated table for key, id in ipairs(jsonTable) do if jsonTable[key].type == "com.fibaro.FGMS001" or jsonTable[key].type == "com.fibaro.windowSensor" or jsonTable[key].type == "com.fibaro.doorSensor" then if debug then fibaro:debug("Device ID:" .. jsonTable[key].id .. " Type:" .. jsonTable[key].type .. " Name:" .. jsonTable[key].name) end if debug then fibaro:debug("Disarmed Status =" .. fibaro:getValue(jsonTable[key].id, "armed")) end if tonumber(fibaro:getValue(jsonTable[key].id, "armed")) == 1 then local temp_ID = jsonTable[key].name Not_Disarmed_Devices_ID = Not_Disarmed_Devices_ID .. ("\n") .. temp_ID -- Add your actions here if the device is not armed! end end end end Send_Push = function() --Use this info to send push about not armed devices fibaro:debug("Devices not Disarmed=" .. Not_Disarmed_Devices_ID ) --Enable to send push, you have non enables sensor ID´s in variable above --fibaro:call(YOUR_ID_GOES_HERE, "sendPush", "SENSORS") -- ID is id# of your mobile -- Affichage des Device non armé fibaro:call(fibaro:getSelfId(), "setProperty", "ui.nodiarmed.value", Not_Disarmed_Devices_ID); end -- Get current status of devices Get_Devices_Status() -- Disarm devices Disarm_Devices() -- Wait for everything to get in order fibaro:sleep(5*1000) -- wait a while.. -- Get current status of devices Get_Devices_Status() --Have a look if they are all armed. Check_Disarmed_Devices() --Send info to phone Send_Push() fibaro:debug("Done!") Voilà , encore un grand merci à Speedy pour son code.
-
-
Bonjour, Depuis un bout de temps je me suis aperçu après avoir créé des scènes en "script LUA", que les scènes en mode BLOC se désactivaient et que je devais automatiquement les réenclencher en manuel. Est-ce un Pb connu ou non ? ou y a-t-il un paramètre pour éviter cela ? Par avance merci pour vos retours.
-
Bonjour, je viens de tester le script et celui-ci me remonte l'erreur suivant ... et j'avoue que je ne comprends pas trop pk... est-ce du fait que je suis en V 4.048 ?... j'ai oublie un truc, thanks for you help ....
- 19 réponses
-
- Script Lua
- Etat
-
(et 2 en plus)
Étiqueté avec :
-
Bin voilà une réponse net précise et concis j'adore, et qui fonctionne.... merci bcp pour réactivité....
-
Bonsoir, Avant de poser ma question un grand merci, a vous pour ce tutaux qui fonctionne a merveille et que je trouve TROP COOOOL cependant, bin ouais faut bien , ou dois-je ajouter le code pour les icônes quel ligne et quoi ..... DSL j'ai trouvé les ID des icônes mais après je n'ai pas tous compris ... could you help me please ... en vous remerkian
-
Bon bin update done and OK !!! - OK pour le module Greenwave + possibilité d'ajouter des icônes sur chaque prise ( remonté de conso OK ) - Scène OK - Wallplug OK - FGMS 001 v2.6 ==> OK - FGK OK Bon, j'avoue ,petite configuration, mais j'ai eu bcp de galère avec le module GreenWave. Donc heureux
-
Mise à jour Comparatif Des Firmwares - Support Des Fonctionnalités
rahany a répondu à un(e) sujet de clarkkent609 dans Firmware
@ clarkkent609 super bravo encore. j'ai fais un update concernant le Greenwave switch port. mais le result ne s'affiche pas, ( je sais il faut que tu fasses un update à la mano)