-
Compteur de contenus
14 651 -
Inscription
-
Dernière visite
-
Jours gagnés
190
Tout ce qui a été posté par jojo
-
Compatible V3-V4-Lite Aeon Labs - Dsd37 - Répéteur / Amplificateur De Signal Z-Wave
jojo a répondu à un(e) sujet de p78ch201 dans Aeon Labs / Aeotec
oui, oui, on parle bien de celui-là. Le mien est également retourné chez le fournisseur -
aller, re-dodo
-
bon, ne vous cassez pas la tête, Lazer a répondu ici àma question
- 33 réponses
-
- Variables Globale
- VG
-
(et 2 en plus)
Étiqueté avec :
-
bon bhen j'ai eu une idée simple pour le reset, et je n'ai pas pu m'empêcher de la tester ... Donc dans le VD DomoCharts, bouton Sensors : local variables = { { ["type"] = "co2", ["id"] = 10001, ["name"] = "Timer_Chaudiere", ["reset"] = true, ["resetValue"] = 0 }, { ["type"] = "co2", ["id"] = 10002, ["name"] = "Timer_Solaire", ["reset"] = true, ["resetValue"] = 0 },} J'ai rajouté pour chaquevariable 2 paramètres ["reset"] et ["resetValue"] puis, à la fin du code, -- Get User Variable list (updated from FHEM through API) datas = nil local datas = {} for i = 1, #variables do payload = "/graph/data_post_" .. variables[i].type .. ".php?id=" .. variables[i].id .. "&value=" .. fibaro:getGlobalValue(variables[i].name) datas[#datas+1] = {} datas[#datas].id = variables[i].id datas[#datas].timestamp = 'NULL' datas[#datas].type = variables[i].type datas[#datas].value = fibaro:getGlobalValue(variables[i].name) if variables[i].reset == true then fibaro:setGlobal(variables[i].name, variables[i].resetValue) end end j'ai ajouté les 3 lignes if variables[i].reset == true then fibaro:setGlobal(variables[i].name, variables[i].resetValue) end FACILE (et propre me semble-t-il)
-
ton problème semble être au niveau de la DB SQL. Si tu faits un restore du backup, il va restorer la DB SQL telle quelle, et le problème sera toujours présent, sauf que tu auras perdu tes icônes Donc reste àinsister auprès de Fibaro OU refaire un recovery qui efface tout et tout recommancer à0 (mais cela demande beaucoup de travail, en fonction du nombre de devices)
-
oui, en effet, j'y avais pensé, mais je ne voulais pas modifier ton code car il faudrait que je ré-applique ces modifs lors d'une prochaine version de ta part), sauf si on peut intégrer cela dans le futur. Donc je "modifie" ton code, j'essaye avec le settimeout, mais je sens que ça va être chaud d'intégrer tout ça proprement
-
perso, je ne fais malheureusement pas de diffférence entre les beta et stables de Fibaro. C'est malheureux, mais c'est comme ça. Sur ma HC2, je suis passé en 4.057b, suite àla lecture de tous les posts postés sur ce forurm, et elle est hyper stable chez moi. D'après ce que je lis depuis lors, je ne suis pas prêt d'upgrader ànouveau.
-
et voici le debug, avec remise àzéro de la variable 1 seconde après chaque nouvelle minute. Mais je perds quelques secondes par minutes [DEBUG] 00:28:51: La variable Timer_Chaudiere existe [DEBUG] 00:28:51: La variable Timer_Solaire existe [DEBUG] 00:28:51: Time is 00:28:51, waiting for 10 seconds... [DEBUG] 00:29:01: Last run : 20/12/2015 00:29:01 - VG 'Timer_Chaudiere' = 1 [DEBUG] 00:29:01: Last run : 20/12/2015 00:29:01 - VG 'Timer_Solaire' = 1 [DEBUG] 00:29:02: Last run : 20/12/2015 00:29:02 - VG 'Timer_Chaudiere' = 2 [DEBUG] 00:29:02: Last run : 20/12/2015 00:29:02 - VG 'Timer_Solaire' = 2 [DEBUG] 00:29:03: Last run : 20/12/2015 00:29:03 - VG 'Timer_Chaudiere' = 3 [DEBUG] 00:29:03: Last run : 20/12/2015 00:29:03 - VG 'Timer_Solaire' = 3 [DEBUG] 00:29:04: Last run : 20/12/2015 00:29:04 - VG 'Timer_Chaudiere' = 4 [DEBUG] 00:29:04: Last run : 20/12/2015 00:29:04 - VG 'Timer_Solaire' = 4 [DEBUG] 00:29:06: Last run : 20/12/2015 00:29:06 - VG 'Timer_Chaudiere' = 5 [DEBUG] 00:29:06: Last run : 20/12/2015 00:29:06 - VG 'Timer_Solaire' = 5 ... [DEBUG] 00:29:57: Last run : 20/12/2015 00:29:57 - VG 'Timer_Chaudiere' = 51 [DEBUG] 00:29:57: Last run : 20/12/2015 00:29:57 - VG 'Timer_Solaire' = 51 [DEBUG] 00:29:58: Last run : 20/12/2015 00:29:58 - VG 'Timer_Chaudiere' = 52 [DEBUG] 00:29:58: Last run : 20/12/2015 00:29:58 - VG 'Timer_Solaire' = 52 [DEBUG] 00:29:59: Last run : 20/12/2015 00:29:59 - VG 'Timer_Chaudiere' = 53 [DEBUG] 00:29:59: Last run : 20/12/2015 00:29:59 - VG 'Timer_Solaire' = 53 [DEBUG] 00:30:00: Last run : 20/12/2015 00:30:00 - VG 'Timer_Chaudiere' = 54 [DEBUG] 00:30:00: Last run : 20/12/2015 00:30:00 - VG 'Timer_Solaire' = 54 [DEBUG] 00:30:01: New minute [DEBUG] 00:30:01: Last run : 20/12/2015 00:30:01 - VG 'Timer_Chaudiere' = 1 [DEBUG] 00:30:01: Last run : 20/12/2015 00:30:01 - VG 'Timer_Solaire' = 1 [DEBUG] 00:30:02: Last run : 20/12/2015 00:30:02 - VG 'Timer_Chaudiere' = 2 [DEBUG] 00:30:02: Last run : 20/12/2015 00:30:02 - VG 'Timer_Solaire' = 2 [DEBUG] 00:30:03: Last run : 20/12/2015 00:30:03 - VG 'Timer_Chaudiere' = 3 [DEBUG] 00:30:03: Last run : 20/12/2015 00:30:03 - VG 'Timer_Solaire' = 3
-
--[[ %% properties %% autostart %% globals --]] Timer = { {deviceName = "CHAUDIERE_OUTPUT", deviceID = 214, variable = "Timer_Chaudiere"}, {deviceName = "SOLAIRE_OUTPUT", deviceID = 82, variable = "Timer_Solaire"}, } variables = api.get('/globalVariables/') for i = 1, #Timer do -- vérification existance variable found = false for j = 1, #variables do if variables[j].name == Timer.variable then found = true end end if found == false then fibaro:debug("La variable "..Timer.variable.. " n'existe PAS. \nA créer manuellement. \nArrêt de ma scène.") fibaro:abort() --[[ -- création de la varialbe fibaro:debug("data = {name="..Timer.variable..", isEnum=0}") local http = net.HTTPClient() http:request("http://127.0.0.1:11111/api/globalVariables", { options = { method = "POST", data = json.encode({name=Timer.variable, isEnum=false}) }, success = function(response) fibaro:debug(Timer.variable .. " créé avec succès") end, error = function(response) fibaro:debug(Timer.variable .. " ERROR !!!") end, }) --]] else fibaro:debug("La variable "..Timer.variable.. " existe") end end local seconde = os.date('%S') if tonumber(seconde) ~= 1 then for i = 1, #Timer do fibaro:setGlobal(Timer.variable, 0) end local delta = 61 - seconde -- il faut décaler de 1 seconde pour être sûr que domochart ait bien fait son job àla seconde 0 fibaro:debug("Time is " .. os.date('%H:%M:%S') .. ", waiting for " .. delta .. " seconds...") fibaro:sleep(delta*1000) end --pour des raison de test : --fibaro:setGlobal(TimerVG["CHAUDIERE_OUTPUT"], os.date('%S')-1) local min = os.date('%M') while true do -- Actions to perform every new second for i = 1, #Timer do if tonumber(fibaro:getValue(Timer.deviceID, "value")) == 1 then fibaro:setGlobal(Timer.variable, fibaro:getGlobal(Timer.variable) + 1) end fibaro:debug('Last run : ' .. os.date('%d/%m/%Y %H:%M:%S').. " - VG '".. Timer.variable.. "' = ".. fibaro:getGlobal(Timer.variable)) end fibaro:sleep(1000) -- 1 second -- Actions to perform every new min if tonumber(os.date('%S')) == 1 then fibaro:debug('New minute') for i = 1, #Timer do fibaro:setGlobal(Timer.variable, 0) end end end
-
merci pour toutes ces explications, mais je ne suis pas un développeur, et ça me parait fort compliqué (àcette heure-ci en tout cas). Donc, comme j'arrive àtester si la variable existe, je vais me contenter dans un premier temps d'arrêter la scène si elle n'existe pas et de la créer àla main. Ce n'est pas le plus important de la scène.
-
as-tu déjàinstallé GEA ? Il pourrait être très utile dans ce cas. Qu'est-ce qui te remonte ta température ? e ZXT-120 (j'en ai un, mais j'en suis PAS content) ou le SRT321 (je n'en ai pas) ? J'imagine que ta consinge vient du SRT-321
-
ah du https, je crains alors que ce ne soit pas possible avec des VD; i-magin àdit ok (et c'est récent) pour des scènes, mais pas pour des VD
-
J'avance dans ma scène, mais je bloque sur la création automatique de la variable --[[ %% properties %% autostart %% globals --]] Timer = { {deviceName = "CHAUDIERE_OUTPUT", deviceID = 214, variable = "Timer_Chaudiere"}, {deviceName = "SOLAIRE_OUTPUT", deviceID = 82, variable = "Timer_Solaire"}, } variables = api.get('/globalVariables/') for i = 1, #Timer do -- vérification existance variable found = false for j = 1, #variables do if variables[j].name == Timer[i].variable then found = true end end if found == false then -- création de la varialbe fibaro:debug("La variable "..Timer[i].variable.. " n'existe PAS") fibaro:debug("data = {name="..Timer[i].variable..", isEnum=0}") local http = net.HTTPClient() http:request("http://127.0.0.1:11111/api/globalVariables", { options = { method = "POST", data = json.encode({name=Timer[i].variable, isEnum=false}) }, success = function(response) fibaro:debug(Timer[i].variable .. " créé avec succès") end, error = function(response) fibaro:debug(Timer[i].variable .. " ERROR !!!") end, }) else fibaro:debug("La variable "..Timer[i].variable.. " existe") end end local seconde = os.date('%S') if tonumber(seconde) ~= 1 then for i = 1, #Timer do fibaro:setGlobal(Timer[i].variable, 0) end local delta = 61 - seconde -- il faut décaler de 1 seconde pour être sûr que domochart ait bien fait son job àla seconde 0 fibaro:debug("Time is " .. os.date('%H:%M:%S') .. ", waiting for " .. delta .. " seconds...") fibaro:sleep(delta*1000) end --pour des raison de test : --fibaro:setGlobal(TimerVG["CHAUDIERE_OUTPUT"], os.date('%S')-1) local min = os.date('%M') while true do -- Actions to perform every new second for i = 1, #Timer do if tonumber(fibaro:getValue(Timer[i].deviceID, "value")) == 1 then fibaro:setGlobal(Timer[i].variable, fibaro:getGlobal(Timer[i].variable) + 1) end fibaro:debug('Last run : ' .. os.date('%d/%m/%Y %H:%M:%S').. " - VG '".. Timer[i].variable.. "' = ".. fibaro:getGlobal(Timer[i].variable)) end fibaro:sleep(1000) -- 1 second -- Actions to perform every new min if tonumber(os.date('%S')) == 1 then fibaro:debug('New minute') for i = 1, #Timer do fibaro:setGlobal(Timer[i].variable, 0) end end end
-
HELP ! Cela fait 3 heures que je cher à créer un variable inexistante dans une scène avec ce code (inspiré de ci-dessus). Il n'y a aucun message dans le debug local http = net.HTTPClient() http:request("http://127.0.0.1:11111/api/globalVariables", { options = { method = "POST", data = json.encode({name=Timer[i].variable, isEnum=0}) }, success = function(response) fibaro:debug(Timer[i].variable .. " créé avec succès") end, error = function(response) fibaro:debug(Timer[i].variable .. " ERROR !!!") end, }) Timer.variable est le nom de ma variable. La variable que je veux créer doit être vide et non prédéfinie. Je désespère.
- 33 réponses
-
- Variables Globale
- VG
-
(et 2 en plus)
Étiqueté avec :
-
j'ai modifié le post, car je l'avais écrit il y a longtemps, en rajoutant un lien vers un autre post de quelqu'un d'autre plus récent. As-tu essayé celui-là?
-
regarde dans ma signature, j'explique comment faire des requêtes http sur HCL
-
effectivement, mais acheter 50 machins chinois juste pour tester si ok, on oublie, surtout que perso je n'aurai jamais l'utilité de 50 WP
-
merci pour tous vos retours, mais comme je souhaite utiliser le domochart de Lazer, je dois mettre à jour une VG pour dire combien de seconde le device a été ON durant la dernière minute, puis le remettre à zéro, car le domochart de lazer va compabiliser toutes les minutes. Donc en effet les trigger sont une bonne idée, mais ils ne seront activé qu'en cas de changement détat, et si ma chaudière est on pendant 4min 35 sec, je devrais avoir qqch comme ceci pour utiliser le domochart de Lazer : min 1 : VD = 15 , puis remise à zéro (la chaudière a démarré à 12h34 et 45') min 2 : VD = 60 , puis remise à zéro (la chaudière a tourné toute la minute) min 3 : VD = 60 , puis remise à zéro (la chaudière a tourné toute la minute) min 4 : VD = 60 , puis remise à zéro (la chaudière a tourné toute la minute) min 5 : VD = 60 , puis remise à zéro (la chaudière a tourné toute la minute) min 6 : VD = 20 , puis remise à zéro (la chaudière a tourné jusqu'à 12h39 et 20")
-
en effet, par défaut les nouveau module ne sont accessibles qu'àl'admin
- 3 réponses
-
- API
- Request http
-
(et 1 en plus)
Étiqueté avec :
-
merci pour le partage de la solution
-
la pro est également waterproof (donc outdoor) et a une meilleur bande passante
-
pour ta réinstall complète, je t'envoie en MP un exemple de doc que j'avais faite de mon installation pour pouvoir refaire la réinstall
-
moi je trouve ma 4.057b très stable : ZERO soucis
-
avec toutes celles que tu lui dois, il va être bourré ...
-
oui c'est exactement ce que je fais, et qui fonctionne parfaitement, et comme ça dans GEA on n'a que du pur GEA