Aller au contenu

jojo

Membres confirmés
  • Compteur de contenus

    14 837
  • Inscription

  • Dernière visite

  • Jours gagnés

    197

Tout ce qui a été posté par jojo

  1. rien à rajouter sur l'argumentation. Maintenant ils sont obligé de réagir. La seule solution, s'ils ne réagissent pas, les spammer, publier sur fesse de bouque ou sur le petit oiseau bleu. Maintenant en v4, tous les modules ont un module maitre (qu'il n'y avait pas en v3), c'est peut-être celui-là qu'il retourne. Egalement, pour les FGS-221 j'ai 4 ID (ok pour le maître et les 2 relais, mais pourquoi le 4° ?). Ta box est-elle plantée, plantée, ou c'est du "nice to have" parce que ce n'est pas beau de voir des modules phantomes ? essaie de voir via l'api le contenu du module que tu souhaite supprimer et celui auquel il fait référence : <ip box>/api/devices/<id module>
  2. si tu as besoin de z-wave àl'extérieur, tu peux essayer de mettre un WP dans les combles de ta maison, cela portera mieux dans ton jardin
  3. @Lazer, Suite ànos discussions de hier concernant le compteur, j'ai remarqué un décalage de la scène DomoChart. Elle tourne comme une horloge, mais se décalait petit àpetit. Hier (en fait ce matin à6h00), j'ai constaté que c'était à48 secondes. Donc j'ai refait un save de la scène, et elle est bien repartie à0 sec . Mais maintenant à14h00 (après 8h00), elle est décalée à10 secondes déjà. Et le décalage sera différent pour chacun d'entre nous, en fonction de la charge de la box. En fait dans cette scène tu n'utilises pas le settimeout(). Cela améliorerait-il les choses ? Mais j'ai pensé àune autre solution : utilisation de ton Watchdog : si le last run n'est pas àla seconde 0, on sauve la scène. (ok, elle n'est plus autonome, et on utilise le watchdog pour autre chose que ce qu'il était prévu àl'origine, mais ne serait-ce pas un quick fix ?)
  4. +1 et laisse le temps àta fibaro de refaire un remaillage du réseau. Mais attention, de mémoire le signal ne peut être répété que 3 ou 4 fois (donc malheureusement pas àl'infini)
  5. 1) insiste auprès de Fibaro en leur montrant que tu n'es pas un idiot qui n'y connait rien : donc la solution d'un recovery d'un backup n'est pas une solution, car le problème se situe au niveau de la corruption de la DB. un upgrade permettrait peut-être de régler ton problème : maintenant tu n'arrive pas àle supprimer de la DB, car erreur dans le développement par Fibaro. Qui sait avec un upgrade la suppression fonctionnera peut-être ?
  6. oui, oui, on parle bien de celui-là. Le mien est également retourné chez le fournisseur
  7. jojo

    Compteur De Temps

    aller, re-dodo
  8. bon, ne vous cassez pas la tête, Lazer a répondu ici àma question
  9. jojo

    Compteur De Temps

    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)
  10. 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)
  11. jojo

    Compteur De Temps

    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
  12. 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.
  13. jojo

    Compteur De Temps

    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
  14. jojo

    Compteur De Temps

    --[[ %% 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
  15. jojo

    Compteur De Temps

    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.
  16. 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
  17. 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
  18. jojo

    Compteur De Temps

    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
  19. 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.
  20. 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à?
  21. regarde dans ma signature, j'explique comment faire des requêtes http sur HCL
  22. jojo

    Un Clone Du Fgms ?

    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
  23. jojo

    Compteur De Temps

    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")
  24. en effet, par défaut les nouveau module ne sont accessibles qu'àl'admin
×
×
  • Créer...