Afficher des heures si la valeur et > à 60min

Bonjour,
J’ai une commande info dans un virtuel qui me renvoie les secondes. Pour les passer en minutes j’ai mis divisé la valeur par 60.
Maintenant je voudrais que l’affichage de cette commande reste en minutes si la valeur est < à 60 et affiche des heures si > à 60. C’est possible de faire ca ?
Merci

Salut,

Tu peux laisser ta commande en seconde et mettre l’unité (s) sur la commande et le core va convertir automatiquement à l’affichage.

Cf. les multiples posts sur la conversion d’unité en 4.3

image
ca donne ceci

Sûr que ca marche avec les secondes ?
chez moi, les secondes restent des secondes, par contre les W ou Wh, sont bien convertis en kW ou kWh automatiquement

Oui moi aussi pour les watts ça fonctionne

sinon, un petit virtuel avec comme declencheur « consigne atteinte » qui te renseigne ta commande info « consigne non atteinte depuis » à passer en type info/autres

Norbert

Je n’ai pas compris. J’ai un binaire avec la consigne atteinte, je peux m’en servir comme déclencheur mais je n’ai pas comrpis comment dans le virtuel

Une info binaire

(#[Chauffage séjour][EM radiateurs salon - living][EM 1 Instantané]# >10 )?1:0

Une info autre qui reprend la valeur binaire

strstr(ConvertDuration(durationbetween(#[Maison][consommateurs][Radiateur salon état]#,1,today ,now)*60),"0s",true)

Tu n’as pas compris parceque ce que j’ai écrit en nul ! :sweat_smile:

Par contre, la fonction ConvertDuration … proposée par @Furaxworld est ce qu’il te faut, je pense !
(je ne la connaissais pas, merci @Furaxworld)

J’ai reussi a la faire comme ceci sans ls strstr. Ca sert à quoi ?

convertDuration(Laststateduration(#[Energie][gestion_Chauffe_eau_2][Consigne Atteinte]#,0))

Et comme c’est une commande info Autre on ne peut plus vraiment exploiter cette info dans un scénario ? du coup je garde les 2 infos

Par contre je viens de me rendre compte que LastStateDuration n’etait pas adatpé… je cherche la commande qui me dira la dernière fois que la commande était a 1 avec le delais ecoulé jusque maintenant meme si elle est à 0
Encore merci

La fonction php strstr vous permettra d’enlever ce qui est à droite des minutes. En l’occurrence les secondes dans mon cas

2 « J'aime »

Effectivement, c’était le cas tout au début mais il semble que cela ne le soit plus

1 « J'aime »

du coup

  • lastChangeStateDuration(commande,valeur) : Donne la durée en secondes depuis le dernier changement d’état à la valeur passée en paramètre. Retourne -1 si aucun historique n’existe ou si la valeur n’existe pas dans l’historique. Retourne -2 si la commande n’est pas historisée

soit :

convertDuration(lastChangeStateDuration(#[Energie][gestion_Chauffe_eau_2][Consigne Atteinte]#,1))

Norbert

1 « J'aime »