lune

Capteurs et actionneurs HTTP

Re: lune

Messagepar Domo-tic » 22 Juin 2014 18:29

Voici un script PHP que je viens de créer pour récupérer les infos sur la Lune (phase, état, pourcentage, image)
à partir du site web http://www.calendrier-lunaire.fr/lune/

Code : Tout sélectionner
<?php

setlocale(LC_TIME, "fr_FR"); // ou "fr"

$url = "http://www.calendrier-lunaire.fr/the-moon/";

// Lecture d'un fichier HTML
function lit_html($chaine,$isFile) {
   // on lit le fichier ou la chaîne
   if($isFile) $chaine = @file_get_contents($chaine);
   if($chaine) {
      return $chaine;
   }
}

$html_infos = lit_html($url,true);

$moon_img = "not found";
$moon_img1 = preg_split("/<div class=\"moon\">/",$html_infos);
$moon_img2 = preg_split("/<\/div>/",$moon_img1[1]);
$moon_img3 = $moon_img2[0];
$moon_img4 = preg_split("/\"/",$moon_img3);
$moon_img5 = preg_split("/\"/",$moon_img4[1]);
$moon_img = $moon_img5[0];

$moon_state = "unknown";
$moon_pourcent = "-1";
// Lune croissante
if ( preg_match("/moon_wax/",$moon_img) ) { 
   $moon_state = "waxing";
   $moon_pourcent1 = preg_split("/moon_wax_/",$moon_img);
   $moon_pourcent2 = preg_split("/.png/",$moon_pourcent1[1]);
   $moon_pourcent = $moon_pourcent2[0];
}
// Lune décroissante
if ( preg_match("/moon_wan/",$moon_img) ) { 
   $moon_state = "waning";
   $moon_pourcent1 = preg_split("/moon_wan_/",$moon_img);
   $moon_pourcent2 = preg_split("/.png/",$moon_pourcent1[1]);
   $moon_pourcent = $moon_pourcent2[0];
}

$moon_phase = -1;
// Lune croissante
if ( $moon_state == "waxing" ) {
   // Lune nouvelle
   if ( $moon_pourcent >=0 and $moon_pourcent <10 ) {
      $moon_phase = 1;
   }
   // Lune premier croissant
   if ( $moon_pourcent >=10 and $moon_pourcent <40 ) {
      $moon_phase = 8;
   }
   // Lune premier quartier
   if ( $moon_pourcent >=40 and $moon_pourcent <60 ) {
      $moon_phase = 7;
   }
   // Lune gibbeuse montante
   if ( $moon_pourcent >=60 and $moon_pourcent <90 ) {
      $moon_phase = 6;
   }
   // Lune pleine
   if ( $moon_pourcent >=90 and $moon_pourcent <=100 ) {
      $moon_phase = 5;
   }
}
// Lune décroissante
if ( $moon_state == "waning" ) {
   // Lune nouvelle
   if ( $moon_pourcent >=0 and $moon_pourcent <10 ) {
      $moon_phase = 1;
   }
   // Lune dernier croissant
   if ( $moon_pourcent >=10 and $moon_pourcent <40 ) {
      $moon_phase = 2;
   }
   // Lune dernier quartier
   if ( $moon_pourcent >=40 and $moon_pourcent <60 ) {
      $moon_phase = 3;
   }
   // Lune gibbeuse descendante
   if ( $moon_pourcent >=60 and $moon_pourcent <90 ) {
      $moon_phase = 4;
   }
   // Lune pleine
   if ( $moon_pourcent >=90 and $moon_pourcent <=100 ) {
      $moon_phase = 1;
   }
}

echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
echo "<moon>";
echo "  <phase>".$moon_phase."</phase>";
echo "  <state>".$moon_state."</state>";
echo "  <pourcent>".$moon_pourcent."</pourcent>";
echo "  <image>".$moon_img."</image>";
echo "</moon>";

?>


Ce script PHP est a héberger sur votre serveur Web (NAS, etc..) et génère lors de son appel une page Web de type XML contenant :
Code : Tout sélectionner
<?xml version="1.0" encoding="ISO-8859-1" ?>
<moon>
  <phase>2</phase>
  <state>waning</state>
  <pourcent>22</pourcent>
  <image>http://www.calendrier-lunaire.fr/moon/moon_wan_22.png</image>
</moon>


:arrow: Lune Phase :
Autre type de périphérique = HTTP - Capteur
Type de données : "Liste de valeurs"
URL de la requête : "http://votreserveurweb/script.php",
Chemin XPATH : "/moon/phase"
-1 = Indéterminée
1 = Nouvelle Lune
2 = Dernier Croissant
3 = Dernier Quartier
4 = Lune Gibbeuse descendante
5 = Plein Lune
6 = Lune Gibbeuse montante
7 = Premier Quartier
8 = Premier Croissant

:arrow: Lune Etat :
Autre type de périphérique = HTTP - Capteur
Type de données = "Liste de valeurs"
URL de la requête = "http://votreserveurweb/script.php",
Chemin XPATH = "/moon/state"
unknown = Indéterminée
waning = Lune Décroissante
waxing = Lune Croissante

:arrow: Lune Pourcentage :
Autre type de périphérique = HTTP - Capteur
Unité = %
Type de données = "Nombre décimal"
URL de la requête = "http://votreserveurweb/script.php",
Chemin XPATH = "/moon/pourcent"

:arrow: Lune URL Image :
Elle est contenue dans le Chemin XPATH = "/moon/image"
de la forme http://www.calendrier-lunaire.fr/moon/moon_wan_22.png

:arrow: Lune exemples d'Icônes :
http://www.deviantart.com/art/Presto-s-Moon-Phases-53625689
http://www.deviantart.com/morelikethis/artists/187306753?view_mode=2/#/art/plain-moon-phase-icons-212524125?hf=1
Dernière édition par Domo-tic le 23 Juin 2014 11:19, édité 2 fois.
eeDomus+ZiBASE2, 70 Périph. Z-Wave, 11 DeltaDore, 20 Sondes Oregon, Compteurs eau/élec OWL CM119+160/Gioanola, IPX800 V3, NAS DS211+, 9 Caméras IP, 3 Nabaztag:Tags+1 Karotz, Koubachi, NetAtmo, Balance+Podomètre Withings, Neato XV-25, Android + SmartWatch.
Domo-tic
 
Messages : 40
Inscription : 10 Nov 2012

Re: lune

Messagepar ASECADOMOTIQUE54 » 22 Juin 2014 22:09

salut domo-tic,
Merci pour le partage je viens de télécharger et de remettre en 128x128 les icones issues de http://www.calendrier-lunaire.fr/moon/moon_wan_22.png
à télécharger ci aprés il n'ya plus qu'a créer des valeurs brutes 10,22,24,26...100 dans Lune Pourcentage avec les valeures brute pour les faire correspondre par contre pas de trace des images pour les valeurs 0,2,4,6,8
https://drive.google.com/folderview?id=0B5J9Te9oqAvSVVVTUWVqX21Zak0&usp=sharing
et phase de lune en 128x128
https://drive.google.com/folderview?id=0B5J9Te9oqAvSaHJQMFhMMjdWc2c&usp=sharing

beau boulot ;)
ASECADOMOTIQUE54
 
Messages : 639
Inscription : 14 Déc 2013
Localisation : Nancy

Re: lune

Messagepar Domo-tic » 23 Juin 2014 10:56

ASECADOMOTIQUE54 a écrit:aprés il n'y a plus qu'a créer des valeurs brutes 10,22,24,26...100

Pas tout à fait, car pour la Lune croissante (waxing) ça varie de 0 à 100% (par pas de 2) mais pour la Lune décroissante (waning) ça varie aussi de 0 à 100% (par pas de 2).
Il faudrait donc en théorie 2 périphériques "Lune Pourcentage", 1 pour la croissante et 1 pour la décroissante.
De plus, si tu veux mettre toutes les valeurs brutes, il va te falloir créer 2x51=102 valeurs dans eeDomus (de 00, 02, 04, [...], 98, 100 pour wan[ing] et idem pour wax[ing]).

Pour ma part, c'est dans "Lune Phase" que j'ai juste importé 8 images de la lune (1 = Nouvelle Lune, 2 = Dernier Croissant, 3 = Dernier Quartier, 4 = Lune Gibbeuse descendante, 5 = Plein Lune, 6 = Lune Gibbeuse montante, 7 = Premier Quartier, 8 = Premier Croissant)

ASECADOMOTIQUE54 a écrit:par contre pas de trace des images pour les valeurs 0,2,4,6,8

Je me suis posé la même question, Il faut en fait mettre un zéro devant, c'est à dire : 00, 02, 04, 06, 08.
Exemples pour Lune croissante et décroissante à 4% :
http://www.calendrier-lunaire.fr/moon/moon_wax_04.png
http://www.calendrier-lunaire.fr/moon/moon_wan_04.png
eeDomus+ZiBASE2, 70 Périph. Z-Wave, 11 DeltaDore, 20 Sondes Oregon, Compteurs eau/élec OWL CM119+160/Gioanola, IPX800 V3, NAS DS211+, 9 Caméras IP, 3 Nabaztag:Tags+1 Karotz, Koubachi, NetAtmo, Balance+Podomètre Withings, Neato XV-25, Android + SmartWatch.
Domo-tic
 
Messages : 40
Inscription : 10 Nov 2012

Re: lune

Messagepar ASECADOMOTIQUE54 » 23 Juin 2014 13:10

merci pour ces précisions Domo-tic :) ,je vais rajouter les icônes manquantes de 0 à 8 pour ceux qui souhaite les utiliser, si j'ai bien compris que ce soit en lune montante ou descendante la valeur brute est la même donc pas moyen de mettre ces 100 valeurs sur un même periph, pas dramatique car ton script remonte l'info waning ou waxing, je crois que je vais laisser comme ça tant pis les icônes seront juste inversées lors des waxing si dans mon cas je n'ai que les icônes waning c'est bien ça?
je vais essayer de dénicher des icônes pour periph waxing waning
ASECADOMOTIQUE54
 
Messages : 639
Inscription : 14 Déc 2013
Localisation : Nancy

Re: lune

Messagepar raphael_malin » 13 Août 2014 11:40

Hello, le script n'est pas utilisable directement dans l'eedomus?
J'ai des erreurs:
"La fonction utilisateur lit_html() doit être préfixée par 'sdk_'
La fonction setlocale() n'est pas autorisée
La fonction lit_html() n'est pas autorisée
La fonction file_get_contents() n'est pas autorisée
La fonction preg_split() n'est pas autorisée
La fonction preg_match() n'est pas autorisée"
raphael_malin
 
Messages : 293
Inscription : 02 Fév 2014
Localisation : Nouméa - Nouvelle-Calédonie

Re: lune

Messagepar bigoudène1 » 13 Août 2014 12:18

raphael_malin a écrit:Hello, le script n'est pas utilisable directement dans l'eedomus?
J'ai des erreurs:
"La fonction utilisateur lit_html() doit être préfixée par 'sdk_'
La fonction setlocale() n'est pas autorisée
La fonction lit_html() n'est pas autorisée
La fonction file_get_contents() n'est pas autorisée
La fonction preg_split() n'est pas autorisée
La fonction preg_match() n'est pas autorisée"


:wave: raphael_malin,

j'ai mis le script Lune de madoma73 que j'ai trouvé sur la page des scripts. Tout fonctionne impec.
bigoudène1
 
Messages : 123
Inscription : 26 Fév 2014
Localisation : Penn-ar-Bed (Finistère)

Re: lune

Messagepar Tinto » 13 Août 2014 12:50

Salut,

Ca date d'avant l'ère des scripts intégrés, celui la il faut l’héberger sur un serveur ;)
Tinto
 
Messages : 534
Inscription : 10 Jan 2014

Re: lune

Messagepar Domo-tic » 17 Août 2014 15:57

Tout à fait.
eeDomus+ZiBASE2, 70 Périph. Z-Wave, 11 DeltaDore, 20 Sondes Oregon, Compteurs eau/élec OWL CM119+160/Gioanola, IPX800 V3, NAS DS211+, 9 Caméras IP, 3 Nabaztag:Tags+1 Karotz, Koubachi, NetAtmo, Balance+Podomètre Withings, Neato XV-25, Android + SmartWatch.
Domo-tic
 
Messages : 40
Inscription : 10 Nov 2012

Re: lune

Messagepar xianghua » 01 Mars 2017 14:09

Pour info, le script ne fonctionne plus.
L'url donne un 404 désormais, j'ai testé avec la nouvelle url, mais ça ne fonctionne tjs pas.
Bon ceci dit je me suis jamais servis de la position de la lune pour un scénario.
xianghua
 
Messages : 305
Inscription : 11 Juil 2015

Re: lune

Messagepar latoupie » 01 Mars 2017 23:17

Pareil chez moi mais c'était pour le fun. Dommage

Envoyé de mon SM-G935F en utilisant Tapatalk
J'ai aussi un BeBop et un ZX81
latoupie
 
Messages : 1085
Inscription : 14 Fév 2015
Localisation : Pas loin

Re: lune

Messagepar Madoma73 » 12 Juin 2017 10:11

le mien marche toujours, je dis ça :mrgreen:

https://www.domo-blog.fr/les-phases-lune-eedomus/
Pierre
Madoma73
 
Messages : 1440
Inscription : 16 Sep 2012
Localisation : 38

Précédent

Retour vers Requêtes HTTP

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 6 invité(s)