Module météo et utilisation de fonctions

Bonjour à tous,

je rencontre un problème avec l’utilisation du module météo et l’application d’un offset.

Mon objectif était de déclencher une action x minutes avant le lever du soleil. Je suis donc parti sur une construction du type:

[WHEATHER]sunrise day → f(x) → variable

Avec [WHEATHER]sunrise day: la valeur du lever du soleil issue du module météo en RAW

f(x) LEVER-1H: la fonction qui prend [WHEATHER]sunrise day en entree (RAW) et applique la fonction de transfert x-3600

variable leversoleil modifié: la variable pour stocker le calcul (RAW) également.

Soit graphiquement

je pensais en avoir fini sauf que non …

L’entrée de ma fonction reste désespérément à 0:

du coup le résultat attendu n’est pas vraiment là ^^ (peut être un début de solution pour voyager dans le temps :))

Le module météo est bien fonctionnel cela aurait pu être une piste:

J’ai d’abord pensé à une bêtise grosse comme le nez au milieu de la figure mais ne trouvant pas je me suis lancé dans la reconstruction d’un nouveau test mais celle fois-ci avec la variable correspondant au coucher du soleil :

et là directement le set val sur l’entrée de la fonction a marché:

avec un résultat cohérent:

J’ai supprimé ma fonction opérant sur le lever du soleil pour la recommencer mais rebelotte.

Si l’un d’entre vous a une piste pour du debug ou encore mieux sait mettre le doigt sur mon erreur je suis preneur.

Merci :wink:

Bonjour @SJE

Voici ce que je comprends du déroulé de vos actions :

- Création d’une fonction Lever-1H

- Lien avec [WHEATHER]sunrise day : ça ne fonctionne pas

- Passage en RAW des variables Entrée(x) et Résultat : ça ne fonctionne toujours pas

- Création d’une fonction Sunset+1H30

- Passage en RAW des variables Entrée(x) et Résultat

- Lien avec [WHEATHER]sunset day : ça fonctionne

Si le problème est celui auquel je pense, en principe, aujourd’hui tout devrait fonctionner.

Explication :

Par défaut, lors de la création d’une fonction, les variables sont des variables 32bits type REAL avec une précision décimale de 2. Elles ne peuvent contenir que des valeurs de -21474836,48 à +21474836,47.

La valeur de la date dans IPX800V5 est représentée par le nombre de secondes depuis le 1/1/1970 00:00:00, soit actuellement une valeur de l’ordre de 1770404096.

Si l’on lie l’entrée de la fonction Lever-1H à une variable de type Raw contenant une valeur de l’ordre de 1770404096, comme dirait Zezette dans le père Noel est une ordure :santa_claus:, ça dépasse ! De ce fait, la valeur prise en compte est 0.

La fonction Lever-1H calcule donc correctement la date (31/12/1969 23:00:00), mais sur la base de l’entrée = 0.

Si on modifie le type de la variable en mode RAW, tout rentre dans l’ordre, à condition que la bonne valeur soit présentée en entrée.

Fonctionnement des liens

Contrairement à un lien physique où les valeurs des deux extrémités sont toujours identiques, dans IPX800, les liens ne mettent à jour la valeur de leur(s) extrémité(s) de sortie que si la ou les extrémités d’entrée varient. Cela permet d’avoir des liens dit multi-sources (n vers 1) ou multi-destinations (1 vers n). Des précisions sur le fonctionnement en mode événement des liens et des éléments ont été donnée ici :

Dans le cas de la fonction Lever-1H, lors de la création du lien, la valeur 1770404096 a été appliquée à l’entrée de la fonction qui, étant saturée par cette valeur, est resté à 0. La valeur de 1770404096 reste présente en sortie [WHEATHER]sunrise day jusqu’à la mise à jour (mise à jour a priori toutes les 24h).

Donc, si le diagnostic est le bon, tout devrait fonctionner dès que la nouvelle date sunrise day sera mise à jour (ce qui devrait être le cas aujourd’hui).

Bonne journée.

Bonjour @Michel94, un grand merci pour la lecture de mon message et encore plus dans le soin apporté à sa lecture.

Malheureusement le diable se cache se cache dans les détails car ce matin le problème était toujours la:

Mais … vous m’avez donné une piste.

Sur la capture d’écran si le widget météo est bien actualisé les tuiles que j’ai positionnées sur le dashboard ne sont pas actualisée non plus pour le lever de soleil (on est toujours à 9h13 heure et date d hier, mais pour le coucher c’est bon).

Je vais creuser de ce cote la.

Une piste …

Vérifier la valeur dans la variable [Weather]Sunrise day et le type de variable qui doit être RAW

Bon courage :man_mechanic:

Bonsoir,

j ai préféré passer ces deux jours en extérieur a profiter du beau temps qu’à m’arracher les cheveux sur cette histoire. La piste de la variable système n’est a priori pas la bonne le type avait bien été swtiché en RAW.

J ai refais quelques bidouilles mais sans succès.

Je ne lâche pas mais cela m’ agace :wink:

Il y a également une info à prendre en compte. Il y a une erreur de remontée des sunrise et sunset sur le widget météo : actuellement décalé d’1 heure sur chaque (et 2 heures en heure d’été)

@GCE ont un ticket d’ouvert mais toujours pas résolu :sleepy_face:

j ai repris mes tests avec la tête un peu plus froide ….

L’erreur se situait au niveau du format de la variable result de la fonction de transfert (avant le setVal) j’était persuadé de l avoir correctement configurée mais visiblement non.

C’était donc ici que le soucis se situait:

Merci à tous ceux qui m ont répondu :wink:

@sylvain14 oui je suis tombé sur les posts mais pas de visibilité sur ce sujet c est dommage mais l’équipe doit crouler sous les tickets ^^