franckg16 Posté(e) le 8 août 2016 Signaler Posté(e) le 8 août 2016 Ma HC2 me donnent des valeurs qui ne correspondent pas à ma position géographique (France / région parisienne) pour les valeurs de levé et couché de soleil. Les lignes : fibaro:debug(fibaro:getValue(1, "sunriseHour")); fibaro:debug(fibaro:getValue(1, "sunsetHour")); donnent ces résultats : [DEBUG] 10:15:45: 05:27 [DEBUG] 10:15:45: 20:31 au lieu de (à ce jour) : 06:36 21:15 Mes paramètres sont correctes dans Configuration / Situation géographique : Fuseau Horaire, latitude et longitude. Merci de votre aide
Berale64 Posté(e) le 8 août 2016 Signaler Posté(e) le 8 août 2016 Dans fuseau horaire, tu as quoi ? Moi j'ai: Europe/Paris
Cmoi20 Posté(e) le 8 août 2016 Signaler Posté(e) le 8 août 2016 a ta place, j'ouvrirais un ticket auprès de fibaro.
franckg16 Posté(e) le 8 août 2016 Auteur Signaler Posté(e) le 8 août 2016 OK, merci, c'est ce que je vais faire
Bobby Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 je viens de m'apercevoir hier soir que moi aussi, mes variables sunset et sunrise ne se mettent plus àjour. j'ai aujourd'hui sunset à21:47 et sunrise à06:044. même après redémarrage de le box, cela ne se met pas a jour. je me demande si cela ne vient pas de la derniere mise a jour.
Bobby Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 un certain temps après le reboot de la box, les paramètres se sont mis àjour. il va falloir que je suive l'évolution de ces paramètres de près, afin de savoir ce qui les a bloqué. affaire àsuivre ....
Nikofighter Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 Bonjour, Je viens d'avoir le meme problème !! Où voyez vous sunset et sunrise? Merci
Steven Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 http://<adresse ip de ta hc2>/api/devices/1 et si tu regarde tu va trouver "sunriseHour":"06:05","sunsetHour":"21:19"
Nikofighter Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 Merci sunriseHour":"05:38","sunsetHour":"20:17" ET je viens de redémarrer ma box!!
Steven Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 De mémoire cette valeur est remise àjour toutes les 30mn, je propose donc d'attendre 30mn après avoir redémarrer mais j'y crois pas du tout.
Nikofighter Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 ok merci je vais attendre et réessayé!
Nikofighter Posté(e) le 15 août 2016 Signaler Posté(e) le 15 août 2016 ca ne change rien! Que faire? Merci de votre contribution
Bobby Posté(e) le 16 août 2016 Signaler Posté(e) le 16 août 2016 pour moi, le redémarrage de la box fait que cela fonctionne de nouveau. je viens de regarder ce matin et les valeurs ont bien été mises àjour : 21:03 et 06:43
franckg16 Posté(e) le 16 août 2016 Auteur Signaler Posté(e) le 16 août 2016 Pour ma part, je n'avais pas renseigné la latitude et longitude dans Configuratiion --> Situation Géographique. Seulement après avoir correctement mis à jour ces paramètres, les heures de levé et couché du soleil étaient toujours incorrectes, d'où l'ouverture de ce post. J'ai écrit au support Fibaro qui m'a expliqué qu'il faut simplement attendre plusieurs heures afin que la HC2 se synchronise. Effectivement le lendemain (et aussi après un redémarrage il me semble), les heures étaient correctes.
Berale64 Posté(e) le 16 août 2016 Signaler Posté(e) le 16 août 2016 J'avais une vingtaine de mn de décalage et après reboot c'est juste. Il faut déjà une scène pour faire un reset de l'horloge qui a une certaine dérive, il va falloir faire de même pour le couché du soleil !!! C'est pas beau Fibaro ???
Steven Posté(e) le 16 août 2016 Signaler Posté(e) le 16 août 2016 <no comment> Edit : code modifié pour prendre en compte le décalage horaire précisé par Barelle ICI Sun(rise-set).vfib 1
pepite Posté(e) le 16 août 2016 Signaler Posté(e) le 16 août 2016 Salut Maitre, suis au boulot, peux pas importer..tu peux mettre le code stp ? pour l'apprentissage du noob en code ;-) oui je sais..suis un boulet :2:
Steven Posté(e) le 16 août 2016 Signaler Posté(e) le 16 août 2016 Cela ne va pas mettre à jour les données de fibaro mais juste mettre les heures ... les vrais de vrais dans un VD. Ci dessous le code du main loop. if (not SunTools) then SunTools = { decalage = 2, daylightsavings = true, lat = 0, long = 0, getLatLong = function(Self) if (Self.lat == 0 or Self.long == 0) then HC2 = Net.FHttp("127.0.0.1", 11111) response = HC2:GET("/api/settings/location") response = json.decode(response) Self.lat = response.latitude Self.long = response.longitude fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblLatLong.value", Self.lat .. "/" .. Self.long) end end, getData = function(Self) HC2 = Net.FHttp("api.sunrise-sunset.org") response = HC2:GET("/json?lat="..Self.lat.."&lng=".. Self.long) response = json.decode(response) local rise = Self:toHour(response.results.sunrise) local set = Self:toHour(response.results.sunset) local duree = response.results.day_length fibaro:debug(response.results.sunrise .. " -> " .. rise) fibaro:debug(response.results.sunset .. " -> " .. set) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblSunrise.value", rise) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblSunset.value", set) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblLength.value", duree) end, toHour = function(Self, s) local pattern = "(%d+)%d+)%d+) (%a+)" local h,m,s,am = s:match(pattern) local decalage = Self.decalage if (Self.daylightsavings and not os.date("*t", os.time()).isdst) then decalage = decalage - 1 end h = h + decalage if (am == "PM") then h = h + 12 end if (h > 23) then h = 0 end return h .. ":" .. m .. ":" .. s end, } end if (not instance) then instance = { lastrun = 0, every = 1 } fibaro:debug("first run") end SunTools:getLatLong() diff = os.date("*t", os.difftime(os.time(), instance.lastrun)) if (diff.hour > instance.every) then SunTools:getData() instance.lastrun = os.time() end . . Edit : code modifié pour prendre en compte le décalage horaire précisé par Barelle ICI 2
pepite Posté(e) le 16 août 2016 Signaler Posté(e) le 16 août 2016 top !! Ca m'inquiète maitre, je commence a comprendre des lignes..c'est vraiment pas bon,ca doit etre le soleil ;-) mais tout ca ne me vient pas encore à l'idee lol les patterns faut vraiment que j'y mette ;-) 1
Steven Posté(e) le 16 août 2016 Signaler Posté(e) le 16 août 2016 C'est pas le soleil mais le pastis 1
pepite Posté(e) le 16 août 2016 Signaler Posté(e) le 16 août 2016 Je ne suis pourtant pas en mode pétanque ;-)
Nikofighter Posté(e) le 16 août 2016 Signaler Posté(e) le 16 août 2016 Bonsoir, C'est bien ça mes latitudes et longitudes n'étaient pas bonnes!! J'ai mis àjour puis attendu. Et ça marche!! Super Merci àtous. PS: par contre le tableau (de Steven)j'y piges rien!! Comment ça marche?
Berale64 Posté(e) le 17 août 2016 Signaler Posté(e) le 17 août 2016 Steven, l'homme qui sort les VDs plus vite que son ombre !!! Bravo, mais c'est quand même triste de devoir compenser les défaillances de Fibaro.
Barelle Posté(e) le 24 août 2016 Signaler Posté(e) le 24 août 2016 Bravo Steven, cela marche au poil... Pour éviter de devoir mettre à jour la variable decalage à chaque changement d'heure, je te propose d'insérer dans la fonction "toHour" le code suivant après la déclaration "local h,m,s,am = s:match(pattern)" if (maintenant.isdst) then Self.decalage = 2; -- Heure d'été else Self.decalage = 1; -- Heure d'hiver end étant entendu que cela est valable pour la France métropolitaine, puisque cela ne prend pas en compte le fuseau horaire. 2
Messages recommandés