Bonjour,
j’ai creer un sensor pour mon alarme.
j’ai un probleme le resultat ne tient pas compte de mon fuseau horaire (france)
quelqu’un peut m’aider svp
###### REVEIL
- sensor:
- name: "prochain_reveil_guy"
state: >
{% set alarm_time = states('sensor.pixel_guy_next_alarm') %}
{% if alarm_time != 'unavailable' and alarm_time != 'unknown' %}
{% set dt_object = strptime(alarm_time, '%Y-%m-%dT%H:%M:%S%z') %}
{{ dt_object.strftime('Réveil: %d/%m à %H:%M') }}
{% else %}
{{ alarm_time }}
{% endif %}
Salut
C’est quoi ton objectif ?
Là, en lisant ça je comprends que tu passes par un template sensor (qui ressemblerait bien à la réponse de chatgtp) pour mettre en forme une heure, que tu vas afficher ensuite quelques part.
Ce que je note :
- Utiliser un template sensor c’est principalement pour faire des calculs, un historique etc… Si c’est pour faire de la mise en forme, c’est du gachis
- La mise en forme est faisable dans les cartes directement la plupart du temps
- Le template fait 2 conversions au lieu d’une, renvoi des valeurs unknow et unavaible
C est pour afficher dans une carte en mettant en forme l heure
Donc tu n’as pas forcement besoin de passer par un sensor.
Quelle carte ?
C est pour une carte badge
Il y a plein de cartes de badge différentes, toutes ne sont pas exploitables en template, peux-tu préciser laquelle ?
C est une type: custom:mushroom-template-badge
Donc directement dans la carte
type: custom:mushroom-template-badge
content: |-
{% set alarm_time = states('sensor.pixel_guy_next_alarm') %}
{{ as_timestamp(alarm_time) | timestamp_custom('Réveil: %d/%m à %H:%M') }}
Merci beaucoup. Donc je me suis compliqué la vie.
donc tu utilise pour faire des calculs, comme ca:
le problème c’est que j’ai un resultat décimale de 0,22 min et je voudrais 22 min.
###### ONDULEUR
- sensor:
- name: "charge_minutes"
state: >
{% if states('sensor.eaton_ellipse_pro_1200_charge') | is_number %}
{{ (states('sensor.eaton_ellipse_pro_1200_charge') | float / 60) | round(2) }}
{% else %}
{{ states('sensor.eaton_ellipse_pro_1200_charge') }}
{% endif %}
unit_of_measurement: "min"
Salut
C’est pas exactement en lien avec le sujet précédent :
- Là tu es dans une carte qui n’est pas templatable, donc pas trop de choix que de passer par le sensor template
- Le calcul est bancale, par exemple pas de valeur par défaut sur le float.
- Mathématiquement le calcul n’est pas faux, donc s’il donne 0.22 c’est sûrement à cause de ta formule qui n’est pas adaptée
Je dois dire que j’essaie de m’y mettre à toute cette partie template mais il y a tellement de possibilités et d’approche possible que cela est hyper compliqué.
C’est comme le reste (javascrip,t, shell, etc), toutes les fonctions sont sous la main mais sans prendre les références dans la doc on arrive juste à faire un gros mélange et à espérer qu’à la fin ça fonctionne.
Donc le premier point à voir c’est quelle est la valeur de sensor.eaton_ellipse_pro_1200_charge ?
Là comme ça avec son nom, j’ai quand même un doute que ce soit réellement une valeur de temps de fonctionnement en secondes
Exemple pour mon fils
- name: "Réveil Tom"
icon: >
{%- set entity = states('sensor.tom_next_alarm') == 'unknown' %}
{%- if entity -%}
mdi:alarm-off
{%- else %}
mdi:alarm
{%- endif %}
state: >-
{%- set entity = states('sensor.tom_next_alarm') == 'unknown' %}
{%- if entity -%}
off
{%- else %}
on
{%- endif %}
attributes:
Etat: >
{% if states('sensor.tom_next_alarm') == 'unknown' %}
Aucun
{% else -%}
{% set reveil = as_timestamp(states('sensor.tom_next_alarm')) | timestamp_custom('%A %d à %Hh%M')
| replace('Monday', 'Lun.')
| replace('Tuesday', 'Mar.')
| replace('Wednesday', 'Mer.')
| replace('Thursday', 'Jeu.')
| replace('Friday', 'Ven.')
| replace('Saturday', 'Sam.')
| replace('Sunday', 'Dim.') %}
{{ reveil }}
{% endif %}
Grace a cette écriture, le sensor sait quand il doit etre activé (réveil programmé), donc la carte s’allume.
Pour l’affichage dans ma carte Tile, j’affiche l’attribut ‹ état ›.
1 « J'aime »
dsl avec le bon sensor ca va mieux j’avais tellement mal a la tete que je me suis trompé
merci je vais regarder, j’adore ton travail meme si je comprends pas tous tes codes.
j’ai essayé de décortiquer ta partie calendrier mais j’ai pas réussi … peux être un jour.
en fait j’arrive pas a comprendre ou tu mets tes infos, pour obtenir ce resultat.