Heure du lever et/ou coucher incorrecte

Bonjour,
Je reprends ce sujet car j’observe également un problème du plugin Weather concernant l’heure de lever et de coucher du soleil.
En effet, comme les volets roulants utilisent ces informations pour s’ouvrir et se fermer, je me suis retrouvé avec les volets montés en pleine nuit !


On peut voir dans cette copie d’écran que le coucher et le lever du soleil sont indiqués à « 100 », ce qui est plutôt incohérent.
Cette anomalie est arrivée juste après la dernière mise à jour du plugin Weather (le 23/04). Le lendemain tout était rentré dans l’ordre, mais cette nuit (le 26/04), le problème est revenu.
Quelqu’un a-t-il noté le même problème ?
Si oui, quelle solution peut-on appliquer ?
Merci et bonne nuit !
Dom.

Bonjour,

Bug de WeatherAPI donc non lié à la mise à jour ou à Jeedom en général.

Solution : calculer les éphémérides en local au lieu de se fier à un prestataire externe. Avec plugin-heliotrope par exemple.

Merci beaucoup @Madcow pour cette excellente suggestion que je viens de mettre en pratique avec succès.
En effet, le calcul en local des heures de lever et coucher du soleil me parait beaucoup plus prudent.
Bonne nuit !
Dom.

Bonjour,
De mon coté, j’ai un virtuel qui calcule ça toutes les nuits sans plugin ou autre…

Pour le déclenchement

La partie floutée corresponds aux coordonnées GPS de chez toi.
Il est exécuté à 0h03 toutes les nuits et je peux utiliser les résultats partout où j’utilise l’heure de lever ou coucher …

Encore mieux. C’est très pratique !
Merci @MaGoo pour le partage.
Dom.

Sans plugin ni info externe, un bloc code dans un scénario exécuté tous les jours par exemple à 0h10 :

$sun_info = date_sun_info(time(),config::byKey('info::latitude','core'),config::byKey('info::longitude','core'));
$scenario->setData('leversoleil',date("Hi",$sun_info["sunrise"]));
$scenario->setData('couchersoleil',date("Hi",$sun_info["sunset"]));
$scenario->setData('aubecivile',date("Hi",$sun_info["civil_twilight_begin"]));
$scenario->setData('crepusculecivil',date("Hi",$sun_info["civil_twilight_end"]));
$scenario->setData('aubenautique',date("Hi",$sun_info["nautical_twilight_begin"]));
$scenario->setData('crepusculenautique',date("Hi",$sun_info["nautical_twilight_end"]));
$scenario->setData('aubeastro',date("Hi",$sun_info["astronomical_twilight_begin"]));
$scenario->setData('crepusculeastro',date("Hi",$sun_info["astronomical_twilight_end"]));

Et ensuite on a 8 variables qu’on peut utiliser partout par exemple dans des virtuels (ne pas oublier de les mettre à jour après exécution du scénario de calcul).
Bien sûr vous pouvez vous limiter à leversoleil couchersoleil si vous n’avez pas besoin des autres.
La première ligne va charcher latitude et longitude dans la configuration de Jeedom donc assurez-vous que ces infos sont correctes.

2 « J'aime »

Salut @vedrine ,
Merci pour ta contribution à ce poste.
Ça me parait encore plus propre, comme solution.
Sais-tu par hasard s’il existe une fonction « $moon_info » pour récupérer l’heure de lever de la lune ?
Merci et bonne journée.
Dom.

Je ne recommande pas l’utilisation de variable pour cet usage, ca force une lecture en db à chaque utilisation (et une écriture lors du run)

a mon avis le plus propre reste plugin-heliotrope

1 « J'aime »

Je comprends ton avis @Mips mais pour une info comme celle là je n’aime pas dépendre d’un plugin et (mais c’est mon avis perso uniquement, pas de polémique SVP) surtout pas héliotrope.
Et à mon avis pour avoir un Jeedom opérationnel il faut absolument une config solide côté lecture/écritures en DB (donc exit les SD !).

je comprend ton point de vue et ce n’était que le mien, nullement la vérité absolue :slight_smile:

et je reconnais que dans la pratique ca ne change pas grand chose sur un cas isolé
mais sur une petite config, déjà en difficulté sur les temps de lecture/écriture, on sait qu’à force de rajouter de la charge ca fini par être moins réactif

Bonjour,
Même si j’ai participé au dev d’heliotrope, j’utilise des variables pour les levers et couchers de soleil.

Si l’on croit le Jeedom benchmark, la lecture de données en BDD est beaucoup plus rapide (x100) que celle en cache:
image

Merci pour vos précisions utiles (@jpty , @Mips et @vedrine).
Pour info, Jeedom tourne chez moi sur une Atlas, donc une configuration plutôt confortable, non ?
Je vais laisser la partie modifiée avec Heliotrope pour le positionnement des volets roulants dans le Plugin « Gestion volets », et utiliser les variables dans les scénarios qui ont besoin des heures de lever et de coucher du soleil.
Je reviendrai poster un commentaire si une particularité survient.
Bonne soirée.
Dom.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.