CaptainIgloo Posté(e) le 17 mai 2015 Signaler Partager Posté(e) le 17 mai 2015 J'avance doucement, par contre il y a un décalage entre couchers de soleil. 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
darklite44 Posté(e) le 17 mai 2015 Signaler Partager Posté(e) le 17 mai 2015 @CaptainIgloo, chez moi le caclul me cela retourne ça : [DEBUG] 21:37:50: AzimutFenetre : 200° [DEBUG] 21:37:50: LargeurFenetre : 180 cm, EpaisseurFenetre : 30 cm, HauteurFenetre : 210cm [DEBUG] 21:37:50: Seuils gauche d'incidence Azimutale dans la fenetre : 119.46° [DEBUG] 21:37:50: Seuils droit d'incidence Azimutale dans la fenetre : 280.54° [DEBUG] 21:37:50: Seuil haut d'incidence zenitale dans la fenetre : 81.87° [DEBUG] 21:37:50: PosSoleilAzimut : 301.02563180577° [DEBUG] 21:37:50: ----------------------------------------- [DEBUG] 21:37:50: Soleil àdroite de la fenêtre A partir de làje compare si je suis dans la fenêtre d'incidence Azimutale mais comment tu fais pour incidence zenitale ? Tu compares juste le seuil avec l'angle actuel ? -- Fonction pour réduire à2 décimales function round(num, dec) local mult = 10^(dec or 0) return math.floor(num * mult + 0.5) / mult end local AzimutFenetre = 200 --Mettre ici l azimut/orientation de la fenetre en degre (°), pour moi plein sud = 180° local LargeurFenetre = 180 local EpaisseurFenetre = 30 local HauteurFenetre = 210 local PosSoleilAzimut = tonumber( fibaro:getGlobalValue( "PosSoleilAzimut" ) ); fibaro:debug("AzimutFenetre : " .. AzimutFenetre .. "°"); fibaro:debug("LargeurFenetre : " .. LargeurFenetre .. " cm, " .. "EpaisseurFenetre : " .. EpaisseurFenetre .. " cm, " .. "HauteurFenetre : " .. HauteurFenetre .. "cm"); -- Seuils gauche et droit d incidence Azimutale dans la fenetre = Az + ou - cet angle masqueAz = round(math.deg(math.atan(LargeurFenetre/EpaisseurFenetre)),2) masqueAzG = round(AzimutFenetre-math.deg(math.atan(LargeurFenetre/EpaisseurFenetre)),2) masqueAzD = round(AzimutFenetre+math.deg(math.atan(LargeurFenetre/EpaisseurFenetre)),2) fibaro:debug("Seuils gauche d incidence Azimutale dans la fenetre : " .. masqueAzG .. "°") fibaro:debug("Seuils droit d incidence Azimutale dans la fenetre : " .. masqueAzD .. "°") -- Seuil haut d'incidence zenitale dans la fenetre = Horizon + cet angle masqueElev = round(math.deg(math.atan(HauteurFenetre/EpaisseurFenetre)),2) fibaro:debug("Seuil haut d'incidence zenitale dans la fenetre : " .. masqueElev .. "°") fibaro:debug("PosSoleilAzimut : " .. PosSoleilAzimut .. "°"); fibaro:debug("-----------------------------------------"); if (PosSoleilAzimut > masqueAzG and PosSoleilAzimut < masqueAzD) then fibaro:debug("Soleil dans la fenêtre") elseif (PosSoleilAzimut < masqueAzG) then fibaro:debug("Soleil àdroite de la fenêtre") elseif (PosSoleilAzimut > masqueAzD) then fibaro:debug("Soleil àdroite de la fenêtre") end Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 17 mai 2015 Signaler Partager Posté(e) le 17 mai 2015 Si vous voulez j'ai partager un scène jours nuits avec decalage possible Lien vers le commentaire Partager sur d’autres sites More sharing options...
darklite44 Posté(e) le 17 mai 2015 Signaler Partager Posté(e) le 17 mai 2015 Je n'avais pas pensé àcela mais je me retrouve avec une Elevation à-3° [DEBUG] 21:50:33: ----------------------------------------- [DEBUG] 21:50:33: AzimutFenetre : 200° [DEBUG] 21:50:33: LargeurFenetre : 180 cm, EpaisseurFenetre : 30 cm, HauteurFenetre : 210cm [DEBUG] 21:50:33: ----------------------------------------- [DEBUG] 21:50:33: Seuils gauche d'incidence Azimutale dans la fenetre : 119.46° [DEBUG] 21:50:33: Seuils droit d'incidence Azimutale dans la fenetre : 280.54° [DEBUG] 21:50:33: Seuil haut d'incidence zenitale dans la fenetre : 81.87° [DEBUG] 21:50:33: ----------------------------------------- [DEBUG] 21:50:33: [Azimut] Soleil àdroite de la fenêtre(304°) [DEBUG] 21:50:33: [Elevation] Soleil couché (-4°) [DEBUG] 21:44:47: Seuil haut d'incidence zenitale dans la fenetre : 81.87° [DEBUG] 21:44:47: ----------------------------------------- [DEBUG] 21:44:47: PosSoleilAzimut : 303° [DEBUG] 21:44:47: PosSoleilElevation : -3° [DEBUG] 21:44:47: ----------------------------------------- [DEBUG] 21:44:47: Soleil àdroite de la fenêtre [DEBUG] 21:44:47: Soleil dans la fenêtre Lien vers le commentaire Partager sur d’autres sites More sharing options...
CaptainIgloo Posté(e) le 17 mai 2015 Signaler Partager Posté(e) le 17 mai 2015 darklite44, pour l'angle zenital effectivement on compare àl'angle d'élévation solaire. On ourrait aussi avoir un masquage tel qu'une terrasse couverte ou un toit plongeant ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
darklite44 Posté(e) le 17 mai 2015 Signaler Partager Posté(e) le 17 mai 2015 Oui par exemple j'ai la maison de mes voisins. Donc il faut que je prenne en compte ce facteur 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nico Posté(e) le 17 mai 2015 Auteur Signaler Partager Posté(e) le 17 mai 2015 Captain, c'est àdire un décalage ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
CaptainIgloo Posté(e) le 18 mai 2015 Signaler Partager Posté(e) le 18 mai 2015 @nico Oui il y a un décalage entre l'heure du coucher de soleil et son élévation sur l'horizon qui devrait être à0°.. Hier j'avais 21:04 comme coucher mais j'étais à-1,4 en élévation. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nico Posté(e) le 18 mai 2015 Auteur Signaler Partager Posté(e) le 18 mai 2015 Normal, il y avait une grosse vague sur la mer devant chez toi, elle a donc caché le soleil plus tôt. L'algo en tient compte Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 18 mai 2015 Signaler Partager Posté(e) le 18 mai 2015 Enooorme ce que vous faites messieurs, ca va etre vraiment precis pou gerer les volets et autre ;-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
CaptainIgloo Posté(e) le 19 mai 2015 Signaler Partager Posté(e) le 19 mai 2015 @al1_fibaro, Je crois avoir trouvé l'origine de l'erreur (décalage). Cela vient selon moi du jour de l'année (DoY : Day of Year) qui s'appuie sur 365,25 jours par an au lieu de déterminer si l'année est bissextile. Avec la fonction suivante tu peux déterminer 365 ou 366 selon l'année en question : function isLeapYear(year) return year%4==0 and (year%100~=0 or year%400==0) end Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nico Posté(e) le 19 mai 2015 Auteur Signaler Partager Posté(e) le 19 mai 2015 Et cela fonctionne Captain ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
darklite44 Posté(e) le 19 mai 2015 Signaler Partager Posté(e) le 19 mai 2015 Voilà ce que ça donne : function calcul_jour_julien(jour, mois, annee, heure, minute, seconde) local month local year local day local days local a local b local jour_julien day = jour + heure /24 + minute/ 1440 + seconde / 86400 year = annee month = mois if month==1 or month==2 then year=year - 1 month=month + 12 end if isLeapYear(year) then days=365.25 else days=365 end a = math.floor(year / 100) b = 2 - a + math.floor( a / 4) jour_julien = math.floor( days * ( year + 4716)) + math.floor(30.6001*(month+1.0)) + day + b - 1524.5 return jour_julien end Avec correctif [DEBUG] 11:57:12: 19/05/15 11:57:12 [DEBUG] 11:57:12: Altitude 30.42 °, azimut 147.17 °. Sans correctif [DEBUG] 11:56:08: 19/05/15 11:56:08 [DEBUG] 11:56:08: Altitude 53.05 °, azimut 128.26 °. La différence me parait énorme. Je me suis planté quelque part ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nico Posté(e) le 19 mai 2015 Auteur Signaler Partager Posté(e) le 19 mai 2015 Effectivement, c'est énorme. Car moi quand je compare mes données avec celles du site que j'avais mis plus haut dans le topic, la donnée de base était précise àmon de 1 degré prêt, donc... Lien vers le commentaire Partager sur d’autres sites More sharing options...
darklite44 Posté(e) le 19 mai 2015 Signaler Partager Posté(e) le 19 mai 2015 Je n'avais pas vu cette ligne également à corriger : local nb_siecle = jour_nouveau/(days*100) Sans correctif [DEBUG] 12:06:31: 19/05/15 12:06:31 [DEBUG] 12:06:31: Altitude 32.11 °, azimut 152.64 °. Avec correctif [DEBUG] 12:06:55: 19/05/15 12:06:55 [DEBUG] 12:06:55: Altitude 32.14 °, azimut 152.75 °. Lien vers le commentaire Partager sur d’autres sites More sharing options...
CaptainIgloo Posté(e) le 19 mai 2015 Signaler Partager Posté(e) le 19 mai 2015 Personnellement je compare à l'app sun seeker. Non il faut utiliser la fonction pour avoir le nombre de jour de l'année. 365 et 366 pour les année bissextile. Si la fonction revoie true le calcul doit partir sur 366 Jours, si false sur 365, et jamais 365.25. -- Si bissextile la fonction renvoie true sinon false function isLeapYear(annee) return annee%4==0 and (annee%100~=0 or annee%400==0) end Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nico Posté(e) le 19 mai 2015 Auteur Signaler Partager Posté(e) le 19 mai 2015 Moi je compare avec le site SunEarthtool.com qui fonctionne bien aussi. Lien vers le commentaire Partager sur d’autres sites More sharing options...
darklite44 Posté(e) le 19 mai 2015 Signaler Partager Posté(e) le 19 mai 2015 Personnellement je compare à l'app sun seeker. Non il faut utiliser la fonction pour avoir le nombre de jour de l'année. 365 et 366 pour les année bissextile. Si la fonction revoie true le calcul doit partir sur 366 Jours, si false sur 365, et jamais 365.25. -- Si bissextile la fonction renvoie true sinon false function isLeapYear(annee) return annee%4==0 and (annee%100~=0 or annee%400==0) end Effectivement je m'étais contenté de copier l'existant... Lien vers le commentaire Partager sur d’autres sites More sharing options...
darklite44 Posté(e) le 23 mai 2015 Signaler Partager Posté(e) le 23 mai 2015 Personne n'a continué pour proposer un VD ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nico Posté(e) le 23 mai 2015 Auteur Signaler Partager Posté(e) le 23 mai 2015 Bah non, on t'attendais pour te voter membre du mois... Moi j'ai pas le temps, rien que refaire toute ma HC2 aujourd'hui j'en ai encore pour des heures et des heures... Lien vers le commentaire Partager sur d’autres sites More sharing options...
CaptainIgloo Posté(e) le 24 mai 2015 Signaler Partager Posté(e) le 24 mai 2015 Pas vraiment de temps pour l'instant. Lien vers le commentaire Partager sur d’autres sites More sharing options...
darklite44 Posté(e) le 25 mai 2015 Signaler Partager Posté(e) le 25 mai 2015 J'avance doucement, par contre il y a un décalage entre couchers de soleil. Tu avais l'air d'avoir bien travaillé avec tes icones CaptainIgloo Lien vers le commentaire Partager sur d’autres sites More sharing options...
darklite44 Posté(e) le 25 mai 2015 Signaler Partager Posté(e) le 25 mai 2015 On dirait que cela progresse davantage sur Vera : Calcul de la position du soleil pour eedomus -via @VincentRecipon Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nico Posté(e) le 25 mai 2015 Auteur Signaler Partager Posté(e) le 25 mai 2015 Yop yop Lien vers le commentaire Partager sur d’autres sites More sharing options...
darklite44 Posté(e) le 29 mai 2015 Signaler Partager Posté(e) le 29 mai 2015 Je ne comprend pas pourquoi il y'a autant de différence entre les résultats du module virtuel et le site sunearthtools : [DEBUG] 14:15:23: Altitude 31.41 °, azimut 191.23 °. Cela fait plus de 30° d'écart : position du soleil Info Elevation Azimut latitudes longitudes 29/05/2015 14:16 | GMT1 63.87° 188.42° 47.544174° N 0.673835° W Une idée ? J'ai trouvé 2 autres sites pas mal pour comparer : http://suncalc.net/ http://www.pveducation.org/pvcdrom/properties-of-sunlight/sun-position-calculator Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés