Ce Forum passera en lecture seule en janvier 2020
Image
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

Notification météo

Pour échanger sur les plugins classés en catégorie "Météo"
Avatar de l’utilisateur
Poumi
Actif
Messages : 660
Inscription : 21 mars 2019, 22:41

Notification météo

Message par Poumi » 04 juin 2019, 19:14

Bonjour,

Je viens de voir cet article sur le site de @lunarok : https://lunarok-domotique.com/installat ... ier-meteo/

L’article fait un lien vers 2 sujets du forum pour récupérer des scripts ( un pour le tts, l’autre pour le rgb de la Gateway)

Le problème est que l’article étant vieux, les sujets n’existent plus sur le forum (je m’y prends un peu tard, j’ai installé jeedom il y a 2 mois alors que l’article date de 2017 :lol: )

Quelqu’un aurait -il ces scripts qui traînent?

Avatar de l’utilisateur
Poumi
Actif
Messages : 660
Inscription : 21 mars 2019, 22:41

Re: Notification météo

Message par Poumi » 05 juin 2019, 21:11

Personne n’a ça dans un coin?

Avatar de l’utilisateur
Jeandhom
Actif
Messages : 1370
Inscription : 20 oct. 2015, 17:32

Re: Notification météo

Message par Jeandhom » 06 juin 2019, 08:37

Oui, ça ne donne pas envie de faire des tutos car au bout d'un moment ils disparaissent.

Avatar de l’utilisateur
Poumi
Actif
Messages : 660
Inscription : 21 mars 2019, 22:41

Re: Notification météo

Message par Poumi » 08 juin 2019, 15:06

J’esperais que quelqu’un qui l’ait fait quand les tuto étaient disponibles ait encore les scénarios associés...

Tant pis :(

Avatar de l’utilisateur
Poumi
Actif
Messages : 660
Inscription : 21 mars 2019, 22:41

Re: Notification météo

Message par Poumi » 09 juin 2019, 08:11

Ou si jamais @tauks traîne encore dans le coin...

Avatar de l’utilisateur
Fabrice
Modérateur
Messages : 3411
Inscription : 27 oct. 2016, 22:26
Localisation : Planète terre, IDF, 93

Re: Notification météo

Message par Fabrice » 09 juin 2019, 11:41

Bonjour,

Dans les commentaires de l'article, il y a des exemples complets il me semble.
Helper Officiel Jeedom
- Jeedom : 3.3.36
- Protocole : Z-Wave / RFXcom / BLEA
- Raspberry Pi : Pi 3 B+ / Pi 3 B / Pi Zero W

Avatar de l’utilisateur
Poumi
Actif
Messages : 660
Inscription : 21 mars 2019, 22:41

Re: Notification météo

Message par Poumi » 09 juin 2019, 11:48

Fabrice a écrit :
09 juin 2019, 11:41
Bonjour,

Dans les commentaires de l'article, il y a des exemples complets il me semble.
J’ai vu ça, mais c’est le code posté par un utilisateur qui n’arrive pas à le faire fonctionner pour l’aider à debugger donc je ne suis pas sûr qu’il soit fonctionnel...

Mais oui, au pire je repars de ça et je cherche les erreurs si ça ne marche pas :)

Avatar de l’utilisateur
Poumi
Actif
Messages : 660
Inscription : 21 mars 2019, 22:41

Re: Notification météo

Message par Poumi » 09 juin 2019, 16:57

Dans le commentaire de l’article, les guillemets, tirets... sont remplacés,

Voilà déjà le code de la couleur gateway corrigé (sous réserve que je n’ai rien oublié):

Code : Tout sélectionner

$temp_value_cmd_string = "#[Maison][Météo ][Température]#";
$RGB_value_cmd_string = "#[Salon][Gateway ][Définir Couleur]#";

$temp_min = 10; // mini echelle température en °C
$temp_max = 25; // max echelle température en °C
$temp_scale_step = 1; // nombre de point de l’échelle

$color_min = 240; // valeur H du modele HSV pour du bleu
$color_max = 0; // valeur H du modele HSV pour du rouge

// adaptation
if ($color_min > $color_max) { // inversion de l’echelle
     $color_revert = $color_min;
   $color_min = $color_max;
     $color_max = $color_revert;
} else {
     $color_revert = 0;
}
$temp_min = round($temp_min * 10);
$temp_max = round($temp_max * 10);

$color_range = $color_max - $color_min;
$temp_range = $temp_max - $temp_min;
$temp_nb_points = round($temp_range / $temp_scale_step); // nombre de marche de l’echelle température
$scenario->setLog("temp_nb_points - ".$temp_nb_points);

$color_scale_step = $color_range / $temp_nb_points; // calcul la precision de l’echelle de couleur par rapport au nombre de point de l’echelle température
$scenario->setLog("color_scale_step - ".$color_scale_step);

$temp_value_cmd = cmd::byString($temp_value_cmd_string);
$temp_value = $temp_value_cmd->execCmd();
$scenario->setLog("temp_value - ".$temp_value);
$temp_value = round($temp_value * 10);
if ($temp_value > $temp_max) $temp_value = $temp_max;

$value_on_color_scale = ((($temp_value - $temp_min) / $temp_scale_step) * $color_scale_step) + $color_min;
$scenario->setLog("value_on_color_scale - ".$value_on_color_scale);
$HofHSV = abs($value_on_color_scale - $color_revert);
$scenario->setLog("HofHSV - ".$HofHSV);

/*
**  Converts HSV to RGB values
** –––––––––––––––––––––––––––––––––––––––––––––––––––––
**  Reference: http://en.wikipedia.org/wiki/HSL_and_HSV
**  Purpose:   Useful for generating colours with
**             same hue-value for web designs.
**  Input:     Hue        (H) Integer 0-360
**             Saturation (S) Integer 0-100
**             Lightness  (V) Integer 0-100
**  Output:    String “R,G,B”
**             Suitable for CSS function RGB().
*/
function fGetRGB($iH, $iS, $iV) {
  if($iH> 360) $iH = 360; //   0-360
  if($iS> 100) $iS = 100; //   0-100
  if($iV> 100) $iV = 100; //   0-100
  $dS = $iS/100.0; // Saturation: 0.0-1.0
  $dV = $iV/100.0; // Lightness:  0.0-1.0
  $dC = $dV*$dS;   // Chroma:     0.0-1.0
  $dH = $iH/60.0;  // H-Prime:    0.0-6.0
  $dT = $dH;       // Temp variable
  while($dT >= 2.0) $dT -= 2.0; // php modulus does not work with float
  $dX = $dC*(1-abs($dT-1));     // as used in the Wikipedia link
  switch(floor($dH)) {
    case 0:
      $dR = $dC; $dG = $dX; $dB = 0.0; break;
    case 1:
      $dR = $dX; $dG = $dC; $dB = 0.0; break;
    case 2:
      $dR = 0.0; $dG = $dC; $dB = $dX; break;
    case 3:
      $dR = 0.0; $dG = $dX; $dB = $dC; break;
    case 4:
      $dR = $dX; $dG = 0.0; $dB = $dC; break;
    case 5:
      $dR = $dC; $dG = 0.0; $dB = $dX; break;
    default:
      $dR = 0.0; $dG = 0.0; $dB = 0.0; break;
  }
  $dM  = $dV - $dC;
  $dR += $dM; $dG += $dM; $dB += $dM;
  $dR *= 255; $dG *= 255; $dB *= 255;
  return array(round($dR),round($dG),round($dB));
}

$RGB_array = fGetRGB($HofHSV, 100, 100);
$RGB_value = sprintf("#%02X%02X%02X", $RGB_array[0], $RGB_array[1], $RGB_array[2]);
$scenario->setLog("RGB - ".$RGB_value);

$RGB_value_cmd = cmd::byString($RGB_value_cmd_string);
$RGB_value_cmd->execCmd(array('color' => $RGB_value));

Pour le tts ce sera plus compliqué parceque je ne sais pas d’ou Viennent les phrases conseil dans le code...

Répondre

Revenir vers « [Catégorie] Météo »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Google [Bot] et 2 invités