stateChanges et stateChangesBetween utilisées sur des périodes non glissantes

Bonsoir à tous

J’ai lu de nombreux posts sur pratiquement le même sujet, mais pas trouvé mon bonheur.
je suis en V4.6.2

Pour résumer mon souci :
A partir d’un historique qui ne comporte que des passages à « 0 » et à « 1 » je veux compter le nombre de passage à « 1 »
entre l’heure actuelle (now) et le début de l’heure (ex : il est 18h29 je veux compter entre 18h00 et 18h29)
entre l’heure actuelle et le début de la journée (ex : il est 18h29 je veux compter entre 00h00 et 18h29)
entre l’heure actuelle et le début de la semaine (ex : il est jeudi 18h29 je veux compter entre lundi 00h00 et jeudi18h29)
Les valeurs comptées sont passées du scenario vers un virtuel par un bloc « event » (pas de problème à ce niveau)

Résumé de là où j’ai échoué :
stateChangesbetween(#[Extérieur][Pluviometre][ContactPluvio]#,1,« Y-m-d H:00:00 » ,« Y-m-d H:i:s »)
ne retourne pas la bonne valeur (avec ou sans les « )
stateChanges(#[Extérieur][Pluviometre][ContactPluvio]#,1, date(Y-m-d H:00:00) , date(Y-m-d H:i:s))
stateChangesbetween(#[Extérieur][Pluviometre][ContactPluvio]#, 1, variable(HeureDebut), now)
semblerait que la fonction n’accepte pas que les bornes soient des formules du genre date », « variable » …
pas de succès non plus en calculant les bornes « start » et « end » en php pour en faire des tags et en entrant mes tags dans la formule :
stateChangesbetween(#[Extérieur][Pluviometre][ContactPluvio]#, 1, #HeureDebut#, #HeureFin#)

En 2026, Existe t il une bonne syntaxe ? une bonne méthode ?
Merci de m’avoir lu. Et si j’ai une solution GRAND merci

Bonjour

Le problème vient des guillemets autour de tes périodes.

Pour le calcul depuis le début du mois :

stateChangesbetween(#[Extérieur][Pluviometre][ContactPluvio]#,1,first day of this month midnight ,now)

Pour le calcul depuis minuit ce jour :

stateChangesbetween(#[Extérieur][Pluviometre][ContactPluvio]#,1,today midnight ,now)

Pour le calcul depuis le 00:00 de l’heure en cours :
Il faut créer une info virtuelle qu’on appellera Heure00 par exemple avec comme formule de calcul :

date('Y-m-d H:00')
Ton calcul sur l’heure en cours deviendra :

stateChangesbetween(#[Extérieur][Pluviometre][ContactPluvio]#,1,#[ton objet][ton equipement][Heure00]# ,now)

Edit :

Tu dois également pouvoir le faire sans info virtuelle avec :

stateChangesbetween(#[Extérieur][Pluviometre][ContactPluvio]#,1,#heure#00, now)

Essaie, ça devrait le faire :wink:

Bonjour,

Voici ce que j’utilise pour mon pluviometre.

Jean-luc

Super merci à Dan_73
calcul depuis le début de l’heure et non pas en heure glissante !
Ca marche effectivement !!

Merci Jlb. Je n’étais pas parti avec cette formulation, mais très intéressant aussi.

Bonne continuation à tous

Si la réponse te convient, pense à passer le sujet en résolu.