Image condition météo ne s'affiche pas

Bonjour,
Je vais regarder pour intégrer la source meteofrance et corriger quelques conditions de weather qui me déçoit pour le moment ( écart sur temp min max des prévisions entre 3 et 8° par rapport à MF )
image

On peut virer Forecast.io de la liste?

2 « J'aime »

Yep,
En local je l’avais déjà fait et j’ai une version quasi prête ou en fait j’ai viré le plugin weather aussi et je laisse juste un champ « condition » pour chacun des cas.
Ainsi à chacun de mettre les conditions avec le plugin qui lui convient
Ca me semble plus futur-proof et moins de maintenance.

Mais c’est comme vous voulez

1 « J'aime »

Tu peux montrer ce que tu as fait afin qu’il n’y ait pas de double dev ?
J’en suis au début, je peux m’adapter.

Je fais une branche dev demain sur le repo
(Si j’ai le droit)
Sinon je ferai un fork, je t’invite sur le fork et on poussera sur le repo d’origine après

1 « J'aime »

Bonjour à tous,
Moi j’ai adapté les codes weather que j’ai trouvé dans la doc du plugin weather pour afficher la condition météo du moment mais je ne suis pas contre un évolution du plugin.
Samuel.

Petit délire passager de l’API weatherapi utilisée par le plugin weather:
image
Le soleil se lève et se couche à 1h.

Voila, les changements que j’ai fait sont sur dev: GitHub - ZitouneOlivier/jeedom_horlogehtc at dev

en gros comme je disais, c’est complétement générique et donc agnostique du plugin source, chacun est libre d’utiliser l’info qu’il veut et donc plus aucune maintenance à ce niveau à l’avenir dans le cas où un plugin change ou si un nouveau arrive.

sur la page de l’équipement il faudra coder ses propres conditions pour chaque situation supportée par le plugin (bien sur les && ou || et tout ce qui est supporté par Jeedom est utilisable comme dans un scénario)
d’autres peuvent être ajoutées facilement, le code est dynamique, mais il faut avoir les icônes correspondantes; donc la liste ici correspond aux icônes qui existent dans le plugin jusqu’ici
le plugin évaluera chacune de ces conditions, dans l’ordre affiché / alphabétique, et affichera la première icône dont le test retourne TRUE.


edit: nouvelle version avec les icônes

et pour les infos (qui seront donc affichées sur le widget si la case météo est cochée), il faut indiquer la commande info directement dans la liste des commandes pour faire le mapping

3 « J'aime »

Merci.
Je regarde comment intégrer mon dev ou pas.
image
image
Coté meteofrance, j’ai 76 icônes en svg pour ma localisation ( 38 jours 38 nuits ). Les icônes sont collectées chez MF au fur et à mesure de l’évolution de la météo locale. C’est moins joli, mais c’est + juste.
Du coté de l’exactitude des datas, weather est encore dans les choux. C’est orageux et le ciel est couvert à 90%

Meteo france… je ne sais pas mais c’est complètement inutile pour moi…
donc en fait ca répond pas au besoin, ce plugin n’est pas que pour les français :laughing:

Même si la version n’est pas encore diffusée, Meteofrance fonctionne à l’étranger. C’est une source données comme une autre.
image
image

1 « J'aime »

Salut,
Bonne nouvelle car 31°C chez moi actuellement pour du 11 réel
Merci,

J’ai testé juste avant de répondre et Bruxelles il trouve pas :melting_face:

Bref, c’est pas le sujet

Yaurai pas une inversion latitude / longitude dans la config du plugin weather et dans la config Jeedom puisque c’est là que weather va chercher les données quand non encore renseignées.

T’as pas la bonne version. C pas encore diffusé.
image
image
Toujours 2°, 3° de différence entre les 2 sources.

Ce qui m’intéressait, c’était d’ intégrer un équipement MF dans horlogeHTC en corrigeant bien sûr les images de weather.
Ce qui me gêne dans ta solution, c’est la quantité de données à renseigner pour obtenir un résultat proche de la version actuelle. Ca va encore râler dans les chaumières.
Si je prends l’icône rain, la condition est (1189, 1195, 1063, 1180, 1186, 1201, 1240, 1243, 1246, 1183, 1207, 1198, 1192 ).

J’ai un peu réfléchi à ca:

  • on pourrait éventuellement avoir un système de « template » où en gros si tu choisis « meteo france » le plugin pré-rempli les conditions qui vont bien; pareil pour weather etc mais ca ne reste qu’une aide à la config
  • autre option qui je trouve a plus de sens; oublies le plugin-horlogehtc qui n’est plus qu’un widget en fait.
    Tu copies le widget dans le plugin-meteofrance et une option dans le plugin pour le choix du template (il me semble avoir vu qu’il y avait déjà une liste)
    Ainsi les utilisateurs ne sont même pas obligé d’avoir un plugin en plus

Je me demande si la simple modif de la fonction qui calcule l’icône ne serait pas suffisante sans repasser par un paramétrage différent. Il y a eu un changement du plugin weather pour la 4.4.
Il va bien tenir au moins 5 ans. Surtout que ceux encore en 4.3 devront faire le paramétrage puis le corriger lors du passage en 4.4
Ma fonction de mapping des icones. C’est immédiat et sans casse.

  private static function mapWeatherConditionToIcon($conditionId, $isDay) {
    if($conditionId < 1000) { // ancien plugin avec openweathermap
      if(in_array($conditionId, array('771', '781'))) return "wind";
      else if(in_array($conditionId, array('800'))) return $isDay ? 'clear-day' : 'clear-night';
      else if(in_array($conditionId, array('801'))) return $isDay ? 'partly-cloudy-day' : 'partly-cloudy-night';
      else if(in_array($conditionId, array('802'))) return 'cloudy';
      else if(in_array($conditionId, array('511'))) return 'hail';
      else if(in_array($conditionId, array('611', '612', '613'))) return 'sleet';
      switch (substr($conditionId, 0, 1)) {
        case '2': return "thunderstorm";
        case '3': return "rain";
        case '5': return "rain";
        case '6': return "snow";
        case '7': return "fog";
        case '8': return "Couvert";
      }
    }
    else { // nouveau plugin avec weatherdata
      if(in_array($conditionId, array(1087, 1273, 1276, 1279, 1282))) return 'thunderstorm';
      if(in_array($conditionId, array(1135, 1030, 1072, 1147, 1150, 1153, 1168, 1171))) return 'fog';
      if(in_array($conditionId, array(1189, 1195, 1063, 1180, 1186, 1201, 1240, 1243, 1246, 1183, 1207, 1198, 1192))) return 'rain';
      if(in_array($conditionId, array(1066, 1069, 1114, 1117, 1204, 1210, 1213, 1216, 1219, 1222, 1225, 1237, 1249, 1252, 1255, 1258, 1261, 1264))) return 'snow';
      if(in_array($conditionId, array(1006, 1003, 1009))) return $isDay ? 'partly-cloudy-day' : 'partly-cloudy-night';
      if(in_array($conditionId, array(1000))) return $isDay ? 'clear-day' : 'clear-night';
    }
    log::add(__CLASS__, 'warning', "No matching icon for $conditionId");
    return "blank";
  }
  • J’ai aussi changé cron30 en cron5. Weather étant en cron30, si le cron30 d’horlogehtc passe avant celui de weather, ça ne sera à jour que s’il n’y a pas de changement coté weather.

  • Je regarderai si je fais un widget dans meteofrance affecté à la commande « MeteoHour0Json » contenant toutes les données nécessaires à l’horloge. Ca serait dommage de créer un équipement de 130 cmds juste pour un widget et/ou un template

Bonjour @Mips,
j’ai utilisé ton Github pour refaire fonctionner horloge HTC.
ca marche nickel une fois tout renseigné.
Par contre, weather me renvoi le numéro de condition 1276 pour orage (ok), j’ai bien renseigné dans la ligne orage de htc (ok) mais étrangement, l’image renvoyée sur le dashboard pour orage est la même que pour neige fondante (j’ai vérifié en mettant le code 1276 dans neige pour voir).
tu peux me dire comment je peux corriger s’il te plait?
merci d’avance

Bonjour,
Pourriez-vous SVP montrer votre « Configuration météo » de l’équipement ?


les images neige fondante et orage sont bien différentes dans l’équipement mais identiques sur le widget
Capture d'écran 2024-05-01 183258

Pouvez-vous donner les conditions complètes pour « Orage » et « Neige fondante » ?