Bonjour,
Voilà j’aimerai afficher sur une carte picture-element le temps de fonctionnement de ma pompe à chaleur mais j’ai besoin pour cela de convertir le format.
Je dispose aujourd’hui d’une variable duration « sensor.pac_duree_moyenne_cycle » :
J’ai vu içi comment convertir le format mais je n’arrive pas à l’adapter à mon besoin :
Avez vous une idée pour transformer la valeur « 0.0924 » en heure au format « 5min 32s » afin de l’afficher dans ma carte ?
Salut,
Un truc du genre ?
{% set t=0.0924 %}
{% set tm=t*3600000 %}
{% set seconds = ((tm / 1000) % 60 )|int (0) %}
{% set minutes = ((tm / 1000 / 60) % 60 )|int (0) %}
{% set hours = ((tm / 1000 / 60 / 60) % 24 )|int (0) %}
{{ hours }} heures, {{ minutes }} et {{seconds }} secondes
2 « J'aime »
Salut @Pulpy-Luke
Pulpy-Luke:
Un truc du genre ?
Merci, je me sens con car je l’ai fais manuellement à la calculatrice pour écrire mon post et je pense même pas à le faire en version template !
Merci !
Je fais ça et je poste le résultat après mangé
Du coup grace à @Pulpy-Luke , c’est réglé !
J’affiche maintenant les durées dans mes statistiques sous un format plus adapté à mes yeux
Le rendu :
Code de la solution mise en place
- platform: template
sensors:
pac_duree_fonctionnement:
friendly_name: "Durée de fonctionnement du jour"
unit_of_measurement: ''
device_class: duration
unique_id: sensor.pac_duree_fonctionnement_new
value_template: >-
{% set t = ((states('sensor.pac_duree_cycle')|float * 1.0)) %}
{% set tm=t*3600000 %}
{% set minutes = ((tm / 1000 / 60) % 60 )|int (0) %}
{% set hours = ((tm / 1000 / 60 / 60) % 24 )|int (0) %}
{{ hours }} h {{ minutes }} min
- platform: template
sensors:
pac_cycle_moyen:
friendly_name: "Durée moyenne d'un cycle"
unit_of_measurement: ''
device_class: duration
value_template: >-
{% set t = ((states('sensor.pac_duree_moyenne_cycle')|float * 1.0)) %}
{% set tm=t*3600000 %}
{% set seconds = ((tm / 1000) % 60 )|int (0) %}
{% set minutes = ((tm / 1000 / 60) % 60 )|int (0) %}
{{ minutes }} min {{ seconds }} s
2 « J'aime »
Bonjour à vous
j’ai voulu faire ‹ la même ›, mais je crois que je ne sais pas faire !
- entity: sensor.activite_pompe_auhourd_hui
name: 'TEMPS :'
icon: mdi:camera-timer
type: custom:multiple-entity-row
card_mod:
style:
hui-generic-entity-row:
$: |
state-badge {
color:;
entities:
- entity: sensor.activite_pompe_auhourd_hui
name: 'REALISE:'
toggle: false
state_color: false
secondary_info: false
last-changed: false
value_template: >-
{% set t = ((states('sensor.activite_pompe_auhourd_hui' )|float * 1.0)) %}
{% set tm=t*3600000 %}
{% set minutes = ((tm / 1000 / 60) % 60 )|int (0) %}
{% set hours = ((tm / 1000 / 60 / 60) % 24 )|int (0) %}
{{ hours }} h {{ minutes }} min
- entity: sensor.temps_filtration_prevu_planning
name: PLANNING
state_color: false
ce qui est étonnant, c’est que la valeur d’origine quand je ne l’intègre pas ailleurs est bien présentée:
je me plante ou?
merci d’avance
Salut
SYLVAIN_MOI:
je me plante ou?
Elle ressemble à quoi l’entité de départ dans les outils dev (valeur, unités, attributs) ?
Salut
heuuu c’est une entité créée dans le fichier config:
sensor:
- platform: history_stats
name: "activité pompe auhourd'hui"
entity_id: binary_sensor.0xa4c138ac10f91c9a_tamper
state: "off"
type: time
start: "{{ now().replace(hour=0, minute=0, second=0) }}"
end: "{{ now() }}"
elle mesure le temps d’une entité pendant qu’elle est en état « off » .
je ne sais pas si je réponds correctement à ta question
ajout ! je pense que c’est ça:
salut,
j’ai essayé de modifier la formule avec d’autres topics mais sans résultat…
j’ai essayé aussi de voir si je pouvais modifier « l’unité de mesure » pour la basculer directement en HH:MM:SS mais je n’y suis pas parvenu.
Hello,
Je n’avais pas vu ta réponse…
Donc tu as une valeur de départ de 6.4
Ton code à toi, dois ressembler à ça
{% set t = states('sensor.pac_duree_cycle')|float(0) %}
{% set tm=t*3600000 %}
{% set minutes = ((tm / 1000 / 60) % 60 )|int (0) %}
{% set hours = ((tm / 1000 / 60 / 60) % 24 )|int (0) %}
{{ hours }} h {{ minutes }} min
salut
pas grave…
oui c’est sensiblement mon code de départ (sans le facteur multiplicateur de 1.0).
et ça ne fonctionne pas…
ça donne quoi dans les outils dev ?
Là avec la carte, c’est pas dit que ce soit plus facile à débugger
heuu
dans les outils dev… tu veux quel onglet et quelle entité/info ?
Et pour aller plus loin, tu utilises des options qui n’existe pas dans ta carte
si tu crée une entité dans configuration.yaml, ça fonctionne (voir la 1er ligne de la carte
template:
sensor:
- name: "calcul"
state: >-
{% set t = states('sensor.pac_duree_cycle')|float(0) %}
{% set tm=t*3600000 %}
{% set minutes = ((tm / 1000 / 60) % 60 )|int (0) %}
{% set hours = ((tm / 1000 / 60 / 60) % 24 )|int (0) %}
{{ hours }} h {{ minutes }} min
ha, donc ça veut dire que mon « value_template » ne s’écrit pas ainsi pour cette carte/fonction ?
exactement, pas avec cette carte ou pas comme ça
d’accord…
mais il ne me l’indique pas sur ma config comme toi:
Tu es en mode yaml, donc il n’y a pas de verif
Sinon, une bonne piste c’est la doc
1 « J'aime »
sérieusement…
je l’ai épluché 15 fois, je cherchais une config de « valeur » et non de « format ».
par contre, je n’ai toujours pas compris pourquoi je n’ai pas l’alerte de « l’éditeur visuel » , même en sortant du yaml ? ça m’aurait clairement indiqué mon erreur pourtant:
Oui c’est loin d’être toujours évident. D’une carte à l’autre les options sont différentes, l’organisation spécifique etc.
Quant à l’éditeur, las tu es dans la partie globale de le carte (tu vois les entités qui la compose), ça se passe dans une des entités au dessous
je ne trouve pas, mais n’est ce pas car j’ai déjà une « sous couche » d’un autre fonction qui n’est déjà pas exploitable en « éditeur visuel »?