Statistiques fonctionnement

bonjour a tous et meilleurs voeux !

je souhaite mettre en place un système de gestion de l’entretien de mon poele a pellets
un entretien nettoyage complet) doit être effectué toutes les 400 heures.

pour cela, j’ai besoin de connaitre :
la durée de fonctionnement depuis le dernier entretien, je prends l’etat 8 remonté par mon equipement.

le soucis c’est que StateDuration ne remonte que le dernier etat, pas le cumul malgres que la commande soit historisée.
ensuite il me faudrait pouvoir , via un bouton, déclarer que l’entretien est effectué et donc remettre un compteur a zéro.

dois-je passer par un virtuel ou un scénario ?

bonjour, les 2 vont être nécéssaire

Ok merci olive

ma difficulté est de :

  • trouver comment définir une variable de départ sur l’action d’un bouton
  • cumuler les durées de fonctionnement depuis cette variable

je suis novice, un peu largué …

bonjour pour mémoriser une valeur tu a 2 solutions

soit tu te sert de la valeur d’une commande info d’un virtuel
soit tu te sert de variable que tu va pouvoir manipuler au travers de scenario

hello

ton état 8 correspond à quoi ? le fonctionnement de ton poêle ?
Si oui, tu fais un scénario qui se déclenche lorsque l’état est différent de 8, et qui pousse dans une variable le state duration du dernier état à 8.

l’opération sur la variable : variable = variable + state duration (incrémente)

Ensuite tu te fait un virtuel qui te remonte les infos voulues (temps de fonctionnement total, restant avant entretien, …) et un bouton de reset de la variable (via un scénario dédié ou le même que précédemment en ajoutant un déclencheur et un bloc IF dédié)

Tu peux peut être même pousser le reset automatique si tu débranche électriquement ton poêle pour l’entretien, et que ce statut est identifiable (connexion wifi?)

Bonjour Fabb,

C’est tout a fait ça ! l’état 8 correspond au fonctionnement normal
la question est comment déclencher le scénario au changement d’état de 8 vers un autre état ?
il peut passer vers 10 ou un autre, si plus de pellets par exemple…
il faudrait donc déclencher à la sortie du mode 8
le poele passe par plusieurs états lors du démarrage ou de l’extinction donc si on déclenche a chaque changement d’état la variable va s’incrémenter plusieurs fois …

Bonjour @iceman31270
Je viens d’essayer.
Tu créer un virtuel avec:

  • une information de type Binaire, que tu appelles « Etat égale 8 » avec comme valeur […][…][etat]==8, que tu vas historiciser.

  • Une autre information de type Numérique, que tu appelles « Temps fonctionnement Poêle », que tu historises, et qui est égale à la variable « Poele Tps de fonctionnement »

  • Une information « Temps fonctionnement Poêle_En heure » = floor([…][…][Temps fonctionnement Poêle]/60) (tu pourra chercher pour rendre ça plus joli. Notamment avec « FormatTime » voir la doc scnéario)

  • Un interrupteur qui va s’appeler « Reset compteur »

Apres tu fais un scénario avec 2 déclencheurs:

  • de type provoqué : Ton interrupteur ==1
  • de type programmé : toute les heures.

Dans le scénario tu mets juste
Si trigger([…][…][Interrupteur])
----Alors: Variable(Poele Tps de fonctionnement) = 0
----Sinon: Variable(Poele Tps de fonctionnement) = Variable(Poele Tps de fonctionnement) + duration(#[…][…][Etat égale 8]#,1,-1 hour)

SI(n°2) (#time#==900 OU #time#==1200 OU #time#==1900) ET Variable(Poele Tps de fonctionnement) >= (400*60)
---- Alors : Envoyer un message d’alerte

Et voila.
#[…][…][Etat égale 8]# sera égale à 1 quand le poêle fonctionne, sinon l’info vaudra 0.
Toute les heures tu regardes combien de temps la valeur est à 1 et tu l’ajoute à la précédente. Du coup tu calcules le temps de marche…

Si il est 9h ou midi ou 19 et que la variable à dépassé 400 h (ou 400 x 60 minutes), alors tu vas recevoir un message.

Le résultat d’une simulation sur 1/2 h:
avec :

  • Une liste qui prend les valeurs 1 / 2 / 3
  • Une info qui prends la valeur 1, quand la liste est à 3
  • Une info qui regarde le temps à 1 de l’info