Pour avoir les phases de la lune, il faut faire des calculs savants qui ne sont actuellement pas réalisables avec les scripts php de notre box préférée. J’ai donc chercher sur le net, quelqu’un qui l’aurait déjà fait et j’ai trouvé ce site : Hamweather.com
Etape 1, création du compte et récupération des Ids API Hamweather
1 Il faut créer un compte puis enregistrer une application pour avoir vos identifiants pour l’api.
2 Lors de l’enregistrement de l’application seuls les champs “Application Name” et “Application domain” sont obligatoires.
3 Vous récupérez ensuite votre “consumer Id” ainsi que votre “consumer Secret” qu’il faut garder dans un coin.
Etape 2, le script
<?php
$ConsumerId="<ConsumerID>";
$ConsumerSecret="<ConsumerSecret>";
$City="<Votre vile>,France";
$ApiUrl = 'http://api.aerisapi.com/sunmoon/'.$City.'?client_id='.$ConsumerId.'&client_secret='.$ConsumerSecret;
$ApiUrl2= 'http://api.aerisapi.com/sunmoon/moonphases/'.$City.'?client_id='.$ConsumerId.'&client_secret='.$ConsumerSecret;
$CACHE_DURATION = 720; // minutes
$last_xml_success = loadVariable('last_xml_success');
if ((time() - $last_xml_success) / 60 < $CACHE_DURATION)
{
sdk_header('text/xml');
$cached_xml = loadVariable('cached_xml');
$cached_xml = str_replace('<Cachestatus>0</Cachestatus>', '<Cachestatus>1</Cachestatus>', $cached_xml);
echo $cached_xml;
die();
}
else
{
$response = httpQuery($ApiUrl);
$responsePhase = httpQuery($ApiUrl2);
$XmlResultPhase=jsonToXML($responsePhase);
sdk_header('text/xml');
$XmlResult=jsonToXML($response);
$XmlResult = str_replace('</root>', '', $XmlResult);
$XmlResult.='<phaseName>'.xpath($XmlResultPhase,'/root/response/response/name').'</phaseName>';
$XmlResult.='<cached>';
$XmlResult.='<Cachestatus>0</Cachestatus>';
$XmlResult.='<CacheTime>'.date(DATE_RFC2822).'</CacheTime>';
$XmlResult.='</cached></root>';
#set last_xml_success
saveVariable('last_xml_success', time());
#set cached_xml
saveVariable('cached_xml', $XmlResult);
// XML de sortie
echo $XmlResult;
}
?>
1 Avant de l’uploader dans votre eedomus, il y a trois paramètres à changer
$ConsumerId="<ConsumerID>";
$ConsumerSecret="<ConsumerSecret>";
$City="<Votre vile>,France";
Ligne 3: $ConsumerId=”<ConsumerID>”; -> remplacer par le consumerid de l’étape 1
Ligne 4 : $ConsumerSecret=”<ConsumerSecret>”;-> remplacer par le consumerSecret de l’étape 1
Ligne 5: $City=”<Votre vile>,France”;-> remplacer par votre ville
2 Vous pouvez ensuite uploader le script dans l’eedomus en utilisant le site web http://@ip_eedomus/script.
le script se charge de mettre en cache le résultat xml pendant 12h.
Etape 3, les périphériques
On passe ensuite à la création des périphériques eedomus:
1 vous pourrez créer jusqu’à 6 capteur HTTP (selon vos besoins), l’url sera toujours la même, seules les expressions Xpath changeront
http://localhost/script/?exec=lune.php
2 Pour les quartiers de la lune
/root/phaseName
3 Le périphérique pourra avoir comme valeur:
new = nouvelle lune
first = premier quartier de la lune
full = pleine lune
third = troisième quartier de lune
4 Pour les phases de la lune( qui semble-t-il n’est pas la même chose que les quartiers ?)
/root/response/response/moon/phase/name
le périphérique pourra avoir comme valeur, celles que vous voyez sur ce diagramme très bien fait (par Moonconnection)
5 Pour le pourcentage de la phase
/root/response/response/moon/phase/phase
6 Pour le pourcentage d’illumination
/root/response/response/moon/phase/illum
7 Pour l’âge de la lune
/root/response/response/moon/phase/age
8 Et enfin pour l’angle de la lune
/root/response/response/moon/phase/angle
Conclusion
Comme à l’accoutumé, les icônes suiveront dans quelques jours dans un nouveau pack !
les plus curieux verront qu’il y a beaucoup d’autres informations utilisables dans le script et encore plus de disponibles via cette API, je suis ouvert à toute demande d’ajout.
Nickel;) Bien joué Pierre;)
merci 😉
[…] – Les phases de la lune dans votre eedomus : Domo-Blog […]
[…] – Les phases de la lune dans votre eedomus : Domo-blog […]
Est il possible via cette API de récupérer les phases du soleil ?
Levé, Couché, Zénith, début de L’aube et Fin du Crépuscule ?
Oui, bien sûr !
tous les détails de ce qui est récupérable est disponible à cette adresse
[…] – Les phases de la lune dans votre eedomus : Domo-Blog […]
Bravo et merci
Peut on rajouter les prévisions météo ????
Merci d’avance
tous le détail de ce qui est récupérable est disponible à cette adresse
tu trouveras aussi sur le forum eedomus des scripts tout fait.
Bonjour,
Le script ne semble plus fonctionner ?
Merci d’avance
Bonsoir,
Changement de domaine changement complet du site le script ne semble plus fonctionner dommage
C’est devenu payant leur api