Bonsoir a tous
Je viens demander conseil aux programmeurs chevronnés du forum.
Je pense qu’un scenario pourrait faire ce que je veux
Je récupère tout au long de la journée la quantité de pluie sur le site Bresser.
A chaque changement de valeur, un scenario se declenche mais Je voudrais pouvoir extraire uniquement la quantité donnée depuis la derniere collecte pour la cumuler dans une info virtuelle par ex (cumul Total qui se met a jour en temps reel ) de facon a avoir un cumul qui evolue au fil de la journée .
J’espere avoir été assez clair
Merci por vos retour
Bonjour,
De quel site parlez vous ?
Quelles types de valeurs sont récupérées, où et comment ?
Ça ne va pas être facile de pondre un scénario sans info.
c’est sur le site https://api.weather.com via un script, qui se declenche toutes les 3 mn et je recupere une info numerique (avec 1 decimale) ex : 3.5 mm
Salut,
En partant sur le principe que tu maitrises déjà tout le reste, il te suffit :
- De créer un virtuel cumul_pluie par exemple
- De créer un scénario qui à pour déclencheur ta commande existante pluie
- Pour remettre à zéro la valeur tous les jours à minuit (et donc n’avoir que le cumul de la journée en cours), personnellement je fais comme ci dessous (chez moi pour la conso élec mais le principe est le même).
- Puis dans le contenu du scénario, tu fais un cumul_pluie = cumul_pluie + pluie
Je vérifie si il existe une valeur dans l’historique à minuit pile.
Si elle n’existe pas, je la crée.
Si elle existe déja je ne fais rien.
Puis je génère mon cumul dans le même scénario.
Actuellement c’est presque ce que je fais deja…
Sur le site Weather, les precipitations journalieres sont automatiquemet RAZ a 00h00 , donc je fais un cumul dans precip totales a 23h58 … ca fonctionne bien et sur precip totales je fais des filtres en precip J-1, par semaine, par mois etc…
MAIS je voudrais (si c’est possible) faire un cumul, au fil de la journée, cad chaque fois que mon script declenche, de facon a avoir mes differentes données a jour toutes les 3 mn et ne pas attendre le lendemain …
Voila voila … c’est peut etre impossible a faire, je sais pas (je ne suis pas du tout programmeur !!)
Merci pour m’avoir repondu
Heu bon du coup je ne comprends plus rien.
J’avais compris que tu voulais créer un cumul, mais la tu me dis que tu l’a déja …
Il va falloir expliquer un peu mieux ce que tu veux faire et faire un screen de ce que tu as d’existant.
Actuellement j’ai un cumul tous les soirs a 23h58 …je voudrais un cumul qui se fait au fur et a mesure des precipitations,(dans une journée)
Ex le matin il pleut, j’ai donc des precipitations journalieres ,par ex a 9h de 2 mm , puis a 9h30 de 4.5 mm (valeur totale de la journée a 9h30) puis a 10h de 6mm … mais ces precip journaliere ne seront cumulées que le soir, avec la valeur obtenue a 23h58 .
J’aimerais , cumuler au fur et a mesure soit a 9h 2mm, puis a 9h30 2.5mm (difference du cumul a 9h30 4.5 mm avec les 2 mm déjà enregistré a 9h ) et ainsi de suite…(cumulant la difference avec l valeur precedente )
En resumé j’aimerai cumuler au fil de la journée (toutes les 3mn) la difference de cumul avec la valeur precedente
Bonjour,
Les variables sont bien adaptées je trouve pour ce cas de figure.
tag diff #[commande_cumul]# - variable(last_cumul, #[commande_cumul]#)
variable last_cumul #[commande_cumul]#
Et puis il ne reste qu’à faire ce que tu veux de cette différence donc par exemple la stocker dans une info virtuelle avec event et historiser cette commande pour avoir des graphiques :
event #[Commande_Stockage_Diff]# tag(diff)
Déclencheur du scénario la commande #[commande_cumul]# bien sûr
EDIT : Ah, il faudra quand même ajouter une condition pour gérer le fait que ta commande weather retourne à 0, mais tu vas trouver, n’est-ce pas ?
Merci pour ta reponse…
Ca m’a l’air sympa ta solution … je test ca dans la journée et te dirai le resultat
Merci encore
Bonsoir
Je reviens vers toi, j’aimerais une explication plus precise de la ligne de commande "tag diff … " car je n’ai pas reussi a trouver une quelconque doc sur le sujet !!! tag ok je connais mais diff ??
J’ai commencé mes tests, mais un oublie de ) m’a compliqué la tache, et en plus il n’a pratiquement pas plu chez moi hier et aujourd’hui… mais demain je devrai pouvoir tester
Bonne soirée
Bonsoir,
Je t’avais fait une capture d’écran
tag
le mot clef pour dire que l’on va définir une variable qui sera oublié après le scénario
nom : diff mais tu mets ce que tu veux, difference, titi, toto, …
Bonjour
J’ai bien ta copie d’ecran :
mais je comprend pas trop : la variable englobe last_cumul et la commande ? et diff signifie bien qu’on veut la difference entre 2 données … c’est la syntaxe de cette ligne que j’ai du mal a saisir
La 2eme partie est la valeur par défaut quand la variable n’existe pas encore
tag diff #[commande_cumul]# - variable(last_cumul, #[commande_cumul]#)
On défini un tag qui s’appelle diff
et qui contient la différence entre :
- la valeur de la commande
#[commande_cumul]#
et - la variable qui s’appelle
last_cumul
mais si la variablelast_cumul
n’existe pas encore (ce qui est le cas le 1er coup que le scénario tourne ou si elle est supprimée un jour), alors c’est le contenu de la commande#[commande_cumul]#
qui sera utilisée
Bonsoir
Je reviens cloturer ce post …et te remercier pour ce petit cour sur la commande diff et tag… J’ai appris des choses (mais on apprend tous les jours !!)
Je n’ai pas tout testé encore car j’ai eu quelques disques qui ont rendu l’ame sur mon Nas, puis sur mon Rpi … bref j’ai passé beaucoup de temps a tout remettre en ordre ,a faire des migrations , installer et configurer Frigate.etc…
Pour le moment j’arrive a recuperer les cumuls que je veux mais j’ai encore des ameliorations en vue.
Merci encore et bonne soirée
Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.