(tuto) utilisation de la commande php date_sun_info

super tableau il te manque duree jour et nuit et tes histoires de marées mon capitaine

Autant pour les durées de jour et de nuit, je peux les mettre (je vais les mettre), autant pour la marée, le plugin de lunarok donne des possibilités que je ne pourrais pas exploiter si j’arrivais à le coller dans ce widget, si j’y arrivais.

J’ai ajouté les durée jour et nuit mais il y a toujours un décalage d’une minute.
Je présume que c’est à cause de l’arrondi des secondes.

Enfin, très sincèrement, je ne sais pas à quoi ça peut servir, mais c’était fun.

Hello , manque plus que les saisons et c’est top.
Merci les gars

Merci mais l’essentiel du mérite revient à @olive.
Je ne me suis finalement chargé que de la mise en application et de la mise en forme.
Pour les saisons, faut voir… dans la prochaine version.
Bonne journée

Ben après tu peut suivre le soleil la lune mars , Jupiter et plein d’autres objets céleste …

[TUTORIEL] Soleil Lune Astre ... Azimut et Elévation ... Python - #7 par olive

Je vais ajouter 1 truc, la saison actuelle en fonction de l’hémisphère, ça peut être utile pour certain réglage.
C’est facile, il faut juste que je m’installe à mon pc.

ca existe dans un plugin avec tout un tas d’autres choses …

1 « J'aime »

Oui mais dépendant d’un site internet. L’idée c’est d’être Offline et avoir des script qui peuvent touner

Pratiquement tout ce qui est la dedans peut être stoké local ou calculé

Salut,
Je ne fais ça que pour m’amuser;
Même si ça existe, c’est plus fun de le faire soi-même, non.
J’ai pris comme hypothèses que les dates des saisons étaient fixes (21 des mois concernés), ce qui, bien évidemment est faux, cela varie tous les ans d’un jour ou deux.
Comme je n’ai trouvé aucun algo qui donnait la date exacte des saisons quelque soit l’année, je les ai figées.
Ceci étant, le code ait facilement modifiable d’une année sur l’autre avec les bonnes dates.
La détermination de la saison tient compte également de l’hémisphère. Au cas où des australiens veuillent s’en servir :joy::joy::joy:.

Le code (sûrement améliorable) :

$lat = votre_latitude;
$long = votre_longitude;
$sun_info = date_sun_info(time(),$lat,$long);
$scenario->setData('leversoleil',date("Hi",$sun_info["sunrise"]));
$scenario->setData('couchersoleil',date("Hi",$sun_info["sunset"]));
$scenario->setData('zenith',date("Hi",$sun_info["transit"]));
$scenario->setData('levercivil',date("Hi",$sun_info["civil_twilight_begin"]));
$scenario->setData('couchercivil',date("Hi",$sun_info["civil_twilight_end"]));
$scenario->setData('levernautique',date("Hi",$sun_info["nautical_twilight_begin"]));
$scenario->setData('couchernautique',date("Hi",$sun_info["nautical_twilight_end"]));
$scenario->setData('leverastro',date("Hi",$sun_info["astronomical_twilight_begin"]));
$scenario->setData('coucherastro',date("Hi",$sun_info["astronomical_twilight_end"]));
$scenario->setData('dureejour',gmdate( "Hi",$sun_info["sunset"]-$sun_info["sunrise"]));
$scenario->setData('dureenuit',gmdate("Hi",24*60*60-($sun_info["sunset"]-$sun_info["sunrise"])));

$hemisphere = ($lat >= 0) ? 'nord' : 'sud';
$date = date('md');
if (($date >= '1221' && $date <= '1231') || ($date >= '0101' && $date < '0321')) {
	$saison = ($hemisphere == 'nord') ? 'Hiver' : 'Eté';
} elseif ($date >= '0321' && $date < '0621') {
	$saison = ($hemisphere == 'nord') ? 'Printemps' : 'Automne';
} elseif ($date >= '0621' && $date < '0921') {
	$saison = ($hemisphere == 'nord') ? 'Eté' : 'Hiver';
} else {
	$saison = ($hemisphere == 'nord') ? 'Automne' : 'Printemps';
}
$scenario->setData('Saison',$saison);

Le résultat :

Capture

1 « J'aime »

Pas facile a lire le haut de ton tableau et la ligne durée va pas avec lever / couché
va faloir y passer encore un moment :wink: mais tu aime ca

Je sais mais je n’avais pas envie d’ajouter un titre jour nuit.
Où alors je remplace lever et coucher par jour nuit.
Par contre je ne vois pas de difficulté à lire le haut du tableau.
Et surtout, l’absence de centrage des valeurs malgré mes efforts m’horripile.

Top sympa merci

Bonjour conversation intéressante, comment mettre juste le Zénith dans un virtuel ?

regarde bien les scénario ci-dessus

$scenario->setData('zenith',date("Hi",$sun_info["transit"]));

il te suffit depuis le scénario de faire une commande event pour mettre a jour la valeur de ton virtuel

Je ne te donne pas la solution mis une piste, pour que tu ai le plasir de cherché et la joie de trouver.

Oui mais sans passer par le plugin « script »;
En php c’est plutot facile :

$JourActuel = date(« Y-m-d »);
$sun_info = date_sun_info(strtotime($JourActuel), 00.0000, 00.0000);
$SoleilZénith= date(« H:i », $sun_info[« transit »]);
echo $SoleilZénith;

Mais directement sur une commande d’un virtuel c’est une autre affaire…

Salut,

envoi l’info dans une variable nommée « zenith ». Il suffit de mettre variable(zenith) dans le champ « calcul » du virtuel.

Tout est indiqué dans le bloc code, tu peux n’y prendre que ce que tu veux et l’adapter à tes besoins.

Yes, merci