sebcbien Posté(e) le 18 juin 2014 Signaler Posté(e) le 18 juin 2014 Bonjour, Je partage un petit script qui permet de fixer la valeur d'un dimmer à 60%, toutes les 4 heures, sauf si en utilisation. Le script fonctionne très bien depuis des mois. Je suis loin d'être un développeur, donc s'il y a des suggestions d'amélioration, n'hésitez pas Créer une scène et y mettre ce code: --[[ %% autostart %% properties %% globals --]] -- si lampe SAM eteinte, set dimmer a 60% toutes les 4 heures entre 0h01 et 23h59 local sourceTrigger = fibaro:getSourceTrigger(); if (sourceTrigger["type"] == "autostart") then while true do local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if ( ( (tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "00", "01")) and tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "23", "59"))) and (math.floor(os.time()/60)-math.floor(1391295660/60))%240 == 0 ) and ( tonumber(fibaro:getValue(54, "value")) == 0 ) ) then fibaro:call(54, 'setValue', 60); fibaro:call(54, 'turnOff'); end fibaro:sleep(60*1000); end else local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if ( ( (tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "00", "01")) and tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "23", "59"))) ) and ( tonumber(fibaro:getValue(54, "value")) == 0 ) or startSource["type"] == "other" ) then fibaro:call(54, 'setValue', 60); fibaro:call(54, 'turnOff'); end end
Moicphil Posté(e) le 18 juin 2014 Signaler Posté(e) le 18 juin 2014 Merci pour le partage // je me suis permis de modifier le titre //
Lazer Posté(e) le 18 juin 2014 Signaler Posté(e) le 18 juin 2014 Quand tu enchaines les commandes fibaro:call(54, 'setValue', 60) et fibaro:call(54, 'turnOff') ça ne fait pas flasher la lumière ?
sebcbien Posté(e) le 18 juin 2014 Auteur Signaler Posté(e) le 18 juin 2014 Imperceptible, c'est de l’halogène (4 spots de 75W pour la table de la SAM... d'ou les 60% ), il y a une petite inertie quand même
Lazer Posté(e) le 18 juin 2014 Signaler Posté(e) le 18 juin 2014 OK merci, du coup c'est intéressant comme script. Merci
pepite Posté(e) le 19 juin 2014 Signaler Posté(e) le 19 juin 2014 Bonjour à tous, Suis un newbie dans la domotique, alors peut-etre que la question va être un peu idiote, veuillez m'excuser par avance alors ;-) Quel est l'interet/objectif de mettre les dimmer à 60 % quand c'est éteint ? Je ne percois pas la subtilité ?? Merci beaucoup..Bon au cas où, je prends de l'avance je sors ;-)
Lazer Posté(e) le 19 juin 2014 Signaler Posté(e) le 19 juin 2014 Afin qu'au prochain allumage via l'interrupteur ça se mette automatiquement à60%, surtout utile avec des spots puissants. Et quand tu as besoin d'un max de lumière, par exemple pour travailler, faire le ménage,etc, alors tu choisis manuellement 100% en double clic sur l'interrupteur.
sebcbien Posté(e) le 19 juin 2014 Auteur Signaler Posté(e) le 19 juin 2014 j'aurais pas répondu mieux moi même :-p
ksar Posté(e) le 19 juin 2014 Signaler Posté(e) le 19 juin 2014 Salut, J'essaye de faire un peu la même chose mais avec une HCL : Mais je sais pas pourquoi ça ne marche pas....
sebcbien Posté(e) le 19 juin 2014 Auteur Signaler Posté(e) le 19 juin 2014 convertis en lua "pour voir" ça devrait être plus clair
Did Posté(e) le 19 juin 2014 Signaler Posté(e) le 19 juin 2014 @ksar, as-tu coché scène active et lancer au démarrage du hc2?
ksar Posté(e) le 20 juin 2014 Signaler Posté(e) le 20 juin 2014 Ouais mais ça ne se lance pas a priori, mais bon je suis pas encore un pro de la box, je vais fouiller un peu pour voir ce qu'il se passe.
Moicphil Posté(e) le 20 juin 2014 Signaler Posté(e) le 20 juin 2014 Ksar,merci de ne pas citer le message précédent. Envoyé de mon C6603 en utilisant Tapatalk
pepite Posté(e) le 20 juin 2014 Signaler Posté(e) le 20 juin 2014 Bonjour à tous, Merci pour la réponse, finalement c'était pas si bête que ca comme question ;-)
stevengva Posté(e) le 7 février 2015 Signaler Posté(e) le 7 février 2015 Salut a tous, je suis aussi entrain d'essayer de faire que la lumière soit tamisée la nuit si on l'allume... malheureusement la technique d'allumer à 20% puis d'éteindre ne fonctionne pas pour moi car toute les lumières clignotent.... en revanche, j'ai vu sur le forum http://forum.micasaverde.com/index.php?topic=22733.0 que le paramètre 40 permet de définir la luminosité au prochain allumage... la question est comment est ce que en LUA je peux modifier la valeur d'un paramètre??? j'ai essayé: fibaro:call(14, 'setParameter', 40,20); fibaro:call(14, 'setProperty', 40, 20) et d'autre combinaison... mais sans aucun succès... est ce que qqun a une idée comment modifier un paramètre depuis LUA??? merci pour votre aide a tous et bon week-end Steven
Lazer Posté(e) le 7 février 2015 Signaler Posté(e) le 7 février 2015 Il faut passer par l'API HTTP pour modifier la valeur d'un paramètre de module. Sauf que le paramètre 40 n'a pas l'air exposés sur mes dimmers, ça passe de 39 à 41 directement : http://1.2.3.4/api/devices?id=34
stevengva Posté(e) le 8 février 2015 Signaler Posté(e) le 8 février 2015 merci pour ton coup de main. donc ma reuete devrai recemebler à ca? http://IP/api/callAction?deviceID=46&name=setParameter&arg1=1&arg2=3 avec arg1=le num du parametre et arg2=la valeur a mettre? merci
Lazer Posté(e) le 8 février 2015 Signaler Posté(e) le 8 février 2015 Je ne sais pas trop, je n'ai jamais modifié de paramètres via l'API. Si Krikroff passe par ici, il t'en dira plus. J'ai ce genre de script en stock pour modifier des paramètres via l'API, ça ne ressemble pas du tout à ce que tu proposes (mais pas testé) : local json = '{"id":'..deviceID..',"properties":{"parameters":[{"id": 0,"size": 1,"value": 0}]}}'; -- valeurs à changer dans parametres local HC2 = Net.FHttp("127.0.0.1", 11111) local response, status, errorCode = HC2:PUT("/api/devices?id="..deviceID, json) if tonumber(status) == 200 then fibaro:debug("Security locked") else fibaro:debug("err ID: "..deviceID.. " status: "..status) end
stevengva Posté(e) le 9 février 2015 Signaler Posté(e) le 9 février 2015 merci beaucoup pour ton coup de main. malheureusement Net.FHttp ne fonctionne que dans les module virtuel et pas dans les scènes.... (de ce que j;ai compris...) si @Krikroff a du temps, son aide serait la super bien venu. merci encore pour ton aide Lazer
Krikroff Posté(e) le 9 février 2015 Signaler Posté(e) le 9 février 2015 Oui dans une scène il faut utiliser net.HTTPClient, je te propose un script dans la journée, sur mon portable c'est difficile d'écrire du code proprement . Et il ne faut pas hésiter àme relancer si je zappe Envoyé de mon smartphone 1
stevengva Posté(e) le 9 février 2015 Signaler Posté(e) le 9 février 2015 Merci beaucoup. tu es vraiment une star!
Krikroff Posté(e) le 9 février 2015 Signaler Posté(e) le 9 février 2015 Chose promise ... C'est un bout de code extrait d'une scène "FGMS Fix" Voici donc un exemple d'utilisation de net.HTTPClient dans une scène pour modifier les paramètres d'un module depuis l' API. local httpClient = net.HTTPClient(); httpClient:request('http://127.0.0.1:11111/api/devices/849', { success = function(response) if tonumber(response.status) == 200 then print("Updated at " .. os.date()); else print("Error " .. response.status) end end, error = function(err) print('error = ' .. err) end, options = { method = 'PUT', headers = { ["content-type"] = 'application/x-www-form-urlencoded;' }, data = "{\"id\":849,\"properties\":{\"associationSet\":[{\"devices\":[48],\"groupID\":1}, {\"devices\":[1],\"groupID\":2}, {\"devices\":[1],\"groupID\":3}]}}" } });
stevengva Posté(e) le 9 février 2015 Signaler Posté(e) le 9 février 2015 Salut Krikroff, merci pour le code que tu as envoyé. j'essaie de comprendre la syntaxe... on met "propreties" puis le nom/numéro de la propriété puis ensuite la valeur souhaitée? merci et bonne soirée Steven
Krikroff Posté(e) le 10 février 2015 Signaler Posté(e) le 10 février 2015 Il faut se baser sur un export json du périphérique par exemple àl'aide du Toolkit ou directement dans ton navigateur.
Messages recommandés