Accueil » Domotique » guides domotiques » Eedomus » Les phases de la lune dans votre eedomus
Eedomus

Les phases de la lune dans votre eedomus

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="&lt;ConsumerID&gt;";
$ConsumerSecret="&lt;ConsumerSecret&gt;";
$City="&lt;Votre vile&gt;,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.

Domo-blog a fait le choix de ne pas polluer votre lecture avec de la publicité. Vous trouverez cependant des liens affiliés vers les produits recommandés dans le contenu. Cela ne perturbe en rien votre experience de lecture et permet de financer le blog.
Vous pouvez également soutenir le blog en m'offrant un café sur Ko-Fi.


discord

Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter

A propos de cet auteur

Madoma73

Informaticien spécialisé dans la sécurité, je me suis mis à la domotique en 2009. J'ai commencé par Homeseer, la Zibase puis finalement l'Eedomus. Depuis, je bidouille, je teste, je rêve de ce que je pourrais faire, et j'essaie de convaincre ma femme de l'utilité de mes rêves !

9 Comments

Cliquez ici pour poster un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

energie
promos domotique
green
promos domotique

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.

Etape 2, le script

Etape 3, les périphériques

On passe ensuite à la création des périphériques eedomus:

Conclusion

Comme à l’accoutumé, les icônes suiveront dans quelques jours dans un nouveau pack !

  • Etape 1, création du compte et récupération des Ids API Hamweather
  • Etape 2, le script
  • Etape 3, les périphériques
  • Conclusion