remonte un peu plus haut dans le fil j’ai mis le code que j’ai fait, il y a certainement mieux à faire mais ca fonctionne
euh j’avais pas vu pour l’année mais en gros ca prends la valeur au 1er janvier, tu n’as pas non plus le mois d’avant donc je suppose que tu n’a pas de données à cette date, il va te falloir attendre ou te pencher du côté de ton menu outils de développement => statistiques j’avais cru comprendre dans un autre post que tu pouvais rajouter ou modifier des statistiques dans la base.
J’ai en gros 10 jours de données, donc je vais devoir attendre
Oups j’ai scroll trop vite j’avais pas vu. Merci
pour aujourd’hui en rouge, la carte a pris la bonne couleur
par contre j’ai manifestement encore un problème d’heures sûrement lié à l’heure d’été et d’hiver avec la base, si il y a des calés en sql je suis preneur parce que je sèche, la base est en timestamp unix et ne prends pas dans les requêtes les options de temps du coup je passe par le calcul en secondes, mais je n’arrive pas à gérer l’heure d’été et l’heure d’hiver
Hello, c’est peut-être lié ou pas =>
Aujourd’hui c’est mon 1er jour rouge depuis que j’ai l’abonnement, et ça me compte 0.16kw en rouge HP pour hier et 1.10 pour la semaine dernière, alors que l’on était en bleu hier et en bleu ou blanc la semaine dernière. Les formules correspondent au code de ta carte, donc la partie sql ?
oui c’est ca !! en fait on doit avoir une petite partie de ce matin je pense du coup entre 6h00 et 7h00 qui est comptabilisée, heure d’hiver surement
Hello,
je viens de trouver ça, je ne sais pas si ça peut t’aider pour la partie sql
https://community.home-assistant.io/t/last-changed-in-lovelace-fix-timezone/169358
Merci pour le message, mais j’ai en fait plusieurs problèmes, je pense avoir résolu le décalage, hiver été (à verifier pour l’été), mais je dois aussi m’assurer , pour les semaines -1 , mois et année d’être supérieur ou inferieur à 10 jours, afin de sélectionner la table « states », ou la table « statistics », et la je sèche complet, si il y a des calés en sql je suis demandeur d’aide.
par exemple la requête remaniée pour semaine-1
j’utilise case
en vérifiant avec (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) + 21600 >= 864000
, que la durée en secondes depuis le lundi de la semaine précédente à 6h00 du matin est supérieure à 10 jours 864000 secondes
mais dans la partie from
je ne peux pas utiliser case
SELECT
CASE WHEN (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) + 21600 >= 864000
THEN statistics.state
ELSE states.state
END AS state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
CASE WHEN (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) + 21600 >= 864000
THEN
statistic_id = 'sensor.em_maison_bbrhpjr'
AND strftime('%s', created_ts) <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) + 21600 -
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 0
ELSE 3600
END
ELSE
states_meta.entity_id = 'sensor.em_maison_bbrhpjr'
AND strftime('%s', 'last_updated_ts') <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7) * 86400) + 21600 -
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 0
ELSE 3600
END
END
ORDER BY
CASE WHEN (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) + 21600 >= 864000
THEN created_ts
ELSE last_updated_ts
END DESC
LIMIT
1;
Je reviens avec des corrections et des différences:
- Correction de l’affichage de certaines valeurs à 0.00 dans les compteurs
- Les requêtes SQL prennent en compte la spécificité française des heures d’hiver et d’été
- Je précise que les années bissextiles, les mois en 28, 29, 30 et 31 jours sont aussi pris en compte
- Si vous n’avez pas assez de données, par exemple vos sensors n’ont produit des données que depuis le 01/11/23 alors (A-1) court dorénavant du 01/11/23 au 31/12/23, et donc ne renvoi plus Nan
reste à trouver comment choisir la table si supérieur à 10 jours: je redonnes le problème home assistant stocke 10 jours de statistiques dans la table « states », puis il stocke les statistiques supérieures à 10 jours dans la table « statistics », ainsi le problème est le suivant:
si je me trouve dans le cas de figure ou nous sommes un samedi, j’affiche pour (S) à partir du lundi donc < 10jours, mais si je souhaite afficher la valeur du lundi précédent pour (S-1) soit 11 jours, j’ai donc pour la même requête, deux tables différentes à utiliser…
code de la carte:
type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template:
- base_high
- card_state
name: >-
[[[ return (states['binary_sensor.rte_tempo_heures_creuses'].state
== 'on') ? 'Linky - HC - Demain: ' + states['sensor.rte_tempo_prochaine_couleur'].state : 'Linky - HP - Demain: ' + states['sensor.rte_tempo_prochaine_couleur'].state ]]]
styles:
card:
- height: 770px
custom_fields:
table:
- position: absolute
- top: 26%
- left: 50%
- width: calc(95% + 1px)
- background-color: var(--primary-background-color)
- padding: 6px
- border-radius: 15px
- transform: translate(-50%, calc(-50% + 10px))
- '--paper-card-background-color': rgba(0, 0, 0, 0.0)
- '--ha-card-background': rgba(0, 0, 0, 0.0)
- '--ha-card-box-shadow': none
- '--ha-card-border-width': 0px
table_cost:
- position: absolute
- top: 78%
- left: 50%
- width: calc(95% + 1px)
- background-color: var(--primary-background-color)
- padding: 6px
- border-radius: 15px
- transform: translate(-50%, calc(-50% + 10px))
- '--paper-card-background-color': rgba(0, 0, 0, 0.0)
- '--ha-card-background': rgba(0, 0, 0, 0.0)
- '--ha-card-box-shadow': none
- '--ha-card-border-width': 0px
label_boutons:
- position: absolute
- top: 4%
- left: 50%
- width: calc(75% + 1px)
- transform: translate(-50%, calc(-50% + 10px))
- '--paper-card-background-color': rgba(0, 0, 0, 0.0)
- '--ha-card-background': rgba(0, 0, 0, 0.0)
- '--ha-card-box-shadow': none
- '--ha-card-border-width': 0px
prices:
- position: absolute
- top: 52%
- left: 50%
- width: calc(95% + 1px)
- background-color: var(--primary-background-color)
- padding: 6px
- border-radius: 15px
- transform: translate(-50%, calc(-50% + 10px))
- '--paper-card-background-color': rgba(0, 0, 0, 0.0)
- '--ha-card-background': rgba(0, 0, 0, 0.0)
- '--ha-card-box-shadow': none
- '--ha-card-border-width': 0px
custom_fields:
label_boutons:
card:
type: horizontal-stack
cards:
- type: custom:button-card
entity: binary_sensor.rte_tempo_heures_creuses
label: " [[[ return states['sensor.rte_tempo_cycle_jours_deja_places_bleu'].state + '/' + states['sensor.rte_tempo_cycle_jours_restants_bleu'].state ]]]"
template: sub_button_mini_label_style
styles:
card:
- background-color: var(--color-card-blue)
icon:
- color: var(--color-icon-blue)
img_cell:
- background-color: var(--color-img-cell-blue)
- type: custom:button-card
entity: binary_sensor.rte_tempo_heures_creuses
label: " [[[ return states['sensor.rte_tempo_cycle_jours_deja_places_blanc'].state + '/' + states['sensor.rte_tempo_cycle_jours_restants_blanc'].state ]]]"
template: sub_button_mini_label_style
styles:
card:
- background-color: var(--color-card-orange)
icon:
- color: var(--color-icon-orange)
img_cell:
- background-color: var(--color-img-cell-orange)
- type: custom:button-card
entity: binary_sensor.rte_tempo_heures_creuses
label: " [[[ return states['sensor.rte_tempo_cycle_jours_deja_places_rouge'].state + '/' + states['sensor.rte_tempo_cycle_jours_restants_rouge'].state ]]]"
template: sub_button_mini_label_style
styles:
card:
- background-color: var(--color-card-red)
icon:
- color: var(--color-icon-red)
img_cell:
- background-color: var(--color-img-cell-red)
table:
card:
type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: CONSOMMATION
template: conso_total_label
- type: horizontal-stack
cards:
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_blue_hp_label
label: |
[[[
let resultat = states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpdb'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hpdb'].state - states['sensor.hpdbl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_blue_hp_label
label: |
[[[
let resultat = states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpsb'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hpsb'].state - states['sensor.hpsbl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_blue_hp_label
label: |
[[[
let resultat = states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpmb'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hpmb'].state - states['sensor.hpmbl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_blue_hp_label
label: |
[[[
let resultat = states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpab'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hpab'].state - states['sensor.hpabl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hp_label
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcdb'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hc_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hcdb'].state - states['sensor.hcdbl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcsb'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hc_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hcsb'].state - states['sensor.hcsbl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcmb'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hc_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hcmb'].state - states['sensor.hcmbl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcab'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hc_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hcab'].state - states['sensor.hcabl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hc_label
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpdw'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hp_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hpdw'].state - states['sensor.hpdwl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpsw'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hp_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hpsw'].state - states['sensor.hpswl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpmw'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hp_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hpmw'].state - states['sensor.hpmwl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpaw'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hp_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hpaw'].state - states['sensor.hpawl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hp_label
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcdw'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hc_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hcdw'].state - states['sensor.hcdwl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcsw'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hc_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hcsw'].state - states['sensor.hcswl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcmw'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hc_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hcmw'].state - states['sensor.hcmwl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcaw'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hc_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hcaw'].state - states['sensor.hcawl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hc_label
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpdr'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hp_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hpdr'].state - states['sensor.hpdrl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpsr'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hp_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hpsr'].state - states['sensor.hpsrl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpmr'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hp_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hpmr'].state - states['sensor.hpmrl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpar'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hp_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hpar'].state - states['sensor.hparl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hp_label
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcdr'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hc_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hcdr'].state - states['sensor.hcdrl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcsr'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hc_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hcsr'].state - states['sensor.hcsrl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcmr'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hc_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hcmr'].state - states['sensor.hcmrl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let resultat = states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcar'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hc_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = states['sensor.hcar'].state - states['sensor.hcarl'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hc_label
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let hpjb = states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpdb'].state;
let hpjw = states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpdw'].state;
let hpjr = states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpdr'].state;
let hcjb = states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcdb'].state;
let hcjw = states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcdw'].state;
let hcjr = states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcdr'].state;
let resultat = hpjb + hpjw + hpjr + hcjb + hcjw + hcjr;
if (resultat == 0) return;
return 'J | ' + resultat.toFixed(2) + ' Kwh';
]]]
template: conso_total_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let hpjb = states['sensor.hpdb'].state - states['sensor.hpdbl'].state;
let hpjw = states['sensor.hpdw'].state - states['sensor.hpdwl'].state;
let hpjr = states['sensor.hpdr'].state - states['sensor.hpdrl'].state;
let hcjb = states['sensor.hcdb'].state - states['sensor.hcdbl'].state;
let hcjw = states['sensor.hcdw'].state - states['sensor.hcdwl'].state;
let hcjr = states['sensor.hcdr'].state - states['sensor.hcdrl'].state;
let resultat = hpjb + hpjw + hpjr + hcjb + hcjw + hcjr;
if (resultat == 0) return;
return 'J-1 | ' + resultat.toFixed(2) + ' Kwh';
]]]
template: conso_total_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let hpsb = states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpsb'].state;
let hpsw = states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpsw'].state;
let hpsr = states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpsr'].state;
let hcsb = states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcsb'].state;
let hcsw = states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcsw'].state;
let hcsr = states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcsr'].state;
let resultat = hpsb + hpsw + hpsr + hcsb + hcsw + hcsr;
if (resultat == 0) return;
return 'S | ' + resultat.toFixed(2) + ' Kwh';
]]]
template: conso_total_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let hpsb = states['sensor.hpsb'].state - states['sensor.hpsbl'].state;
let hpsw = states['sensor.hpsw'].state - states['sensor.hpswl'].state;
let hpsr = states['sensor.hpsr'].state - states['sensor.hpsrl'].state;
let hcsb = states['sensor.hcsb'].state - states['sensor.hcsbl'].state;
let hcsw = states['sensor.hcsw'].state - states['sensor.hcswl'].state;
let hcsr = states['sensor.hcsr'].state - states['sensor.hcsrl'].state;
let resultat = hpsb + hpsw + hpsr + hcsb + hcsw + hcsr;
if (resultat == 0) return;
return 'S-1 | ' + resultat.toFixed(2) + ' Kwh';
]]]
template: conso_total_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let hpjb = states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpmb'].state;
let hpjw = states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpmw'].state;
let hpjr = states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpmr'].state;
let hcjb = states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcmb'].state;
let hcjw = states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcmw'].state;
let hcjr = states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcmr'].state;
let resultat = hpjb + hpjw + hpjr + hcjb + hcjw + hcjr;
if (resultat == 0) return;
return 'M | ' + resultat.toFixed(2) + ' Kwh';
]]]
template: conso_total_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let hpjb = states['sensor.hpmb'].state - states['sensor.hpmbl'].state;
let hpjw = states['sensor.hpmw'].state - states['sensor.hpmwl'].state;
let hpjr = states['sensor.hpmr'].state - states['sensor.hpmrl'].state;
let hcjb = states['sensor.hcmb'].state - states['sensor.hcmbl'].state;
let hcjw = states['sensor.hcmw'].state - states['sensor.hcmwl'].state;
let hcjr = states['sensor.hcmr'].state - states['sensor.hcmrl'].state;
let resultat = hpjb + hpjw + hpjr + hcjb + hcjw + hcjr;
if (resultat == 0) return;
return 'M-1 | ' + resultat.toFixed(2) + ' Kwh';
]]]
template: conso_total_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let hpjb = states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpab'].state;
let hpjw = states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpaw'].state;
let hpjr = states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpar'].state;
let hcjb = states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcab'].state;
let hcjw = states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcaw'].state;
let hcjr = states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcar'].state;
let resultat = hpjb + hpjw + hpjr + hcjb + hcjw + hcjr;
if (resultat == 0) return;
return 'A | ' + resultat.toFixed(2) + ' Kwh';
]]]
template: conso_total_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let hpjb = states['sensor.hpab'].state - states['sensor.hpabl'].state;
let hpjw = states['sensor.hpaw'].state - states['sensor.hpawl'].state;
let hpjr = states['sensor.hpar'].state - states['sensor.hparl'].state;
let hcjb = states['sensor.hcab'].state - states['sensor.hcabl'].state;
let hcjw = states['sensor.hcaw'].state - states['sensor.hcawl'].state;
let hcjr = states['sensor.hcar'].state - states['sensor.hcarl'].state;
let resultat = hpjb + hpjw + hpjr + hcjb + hcjw + hcjr;
if (resultat == 0) return;
return 'A-1 | ' + resultat.toFixed(2) + ' Kwh';
]]]
template: conso_total_label
table_cost:
card:
type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: FACTURE
template: conso_total_label
- type: horizontal-stack
cards:
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_blue_hp_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpdb'].state) * states['input_number.hp_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hpdb'].state - states['sensor.hpdbl'].state) * states['input_number.hp_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_blue_hp_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpsb'].state) * states['input_number.hp_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hpsb'].state - states['sensor.hpsbl'].state) * states['input_number.hp_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_blue_hp_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpmb'].state) * states['input_number.hp_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hpmb'].state - states['sensor.hpmbl'].state) * states['input_number.hp_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_blue_hp_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpab'].state) * states['input_number.hp_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hpab'].state - states['sensor.hpabl'].state) * states['input_number.hp_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hp_label
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_blue_hc_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcdb'].state) * states['input_number.hc_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hcdb'].state - states['sensor.hcdbl'].state) * states['input_number.hc_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_blue_hc_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcsb'].state) * states['input_number.hc_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hcsb'].state - states['sensor.hcsbl'].state) * states['input_number.hc_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_blue_hc_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcmb'].state) * states['input_number.hc_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hcmb'].state - states['sensor.hcmbl'].state) * states['input_number.hc_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_blue_hc_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcab'].state) * states['input_number.hc_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hcab'].state - states['sensor.hcabl'].state) * states['input_number.hc_bleu'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_blue_hc_label
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_white_hp_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpdw'].state) * states['input_number.hp_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hpdw'].state - states['sensor.hpdwl'].state) * states['input_number.hp_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_white_hp_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpsw'].state) * states['input_number.hp_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hpsw'].state - states['sensor.hpswl'].state) * states['input_number.hp_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_white_hp_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpmw'].state) * states['input_number.hp_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hpmw'].state - states['sensor.hpmwl'].state) * states['input_number.hp_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_white_hp_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpaw'].state) * states['input_number.hp_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hpaw'].state - states['sensor.hpawl'].state) * states['input_number.hp_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hp_label
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_white_hc_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcdw'].state) * states['input_number.hc_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hcdw'].state - states['sensor.hcdwl'].state) * states['input_number.hc_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_white_hc_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcsw'].state) * states['input_number.hc_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hcsw'].state - states['sensor.hcswl'].state) * states['input_number.hc_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_white_hc_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcmw'].state) * states['input_number.hc_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hcmw'].state - states['sensor.hcmwl'].state) * states['input_number.hc_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_white_hc_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcaw'].state) * states['input_number.hc_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hcaw'].state - states['sensor.hcawl'].state) * states['input_number.hc_blanc'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_white_hc_label
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_red_hp_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpdr'].state) * states['input_number.hp_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hpdr'].state - states['sensor.hpdrl'].state) * states['input_number.hp_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_red_hp_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpsr'].state) * states['input_number.hp_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hpsr'].state - states['sensor.hpsrl'].state) * states['input_number.hp_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_red_hp_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpmr'].state) * states['input_number.hp_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hpmr'].state - states['sensor.hpmrl'].state) * states['input_number.hp_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hp_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_red_hp_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpar'].state) * states['input_number.hp_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hpar'].state - states['sensor.hparl'].state) * states['input_number.hp_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hp_label
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_red_hc_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcdr'].state) * states['input_number.hc_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hcdr'].state - states['sensor.hcdrl'].state) * states['input_number.hc_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_red_hc_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcsr'].state) * states['input_number.hc_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hcsr'].state - states['sensor.hcsrl'].state) * states['input_number.hc_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_red_hc_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcmr'].state) * states['input_number.hc_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hcmr'].state - states['sensor.hcmrl'].state) * states['input_number.hc_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hc_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
template: conso_red_hc_label
label: |
[[[
let resultat = (states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcar'].state) * states['input_number.hc_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let resultat = (states['sensor.hcar'].state - states['sensor.hcarl'].state) * states['input_number.hc_rouge'].state;
if (resultat == 0) return;
return resultat.toFixed(2);
]]]
template: conso_red_hc_label
- type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let hpjb = (states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpdb'].state) * states['input_number.hp_bleu'].state;
let hpjw = (states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpdw'].state) * states['input_number.hp_blanc'].state;
let hpjr = (states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpdr'].state) * states['input_number.hp_rouge'].state;
let hcjb = (states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcdb'].state) * states['input_number.hc_bleu'].state;
let hcjw = (states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcdw'].state) * states['input_number.hc_blanc'].state;
let hcjr = (states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcdr'].state) * states['input_number.hc_rouge'].state;
let resultat = hpjb + hpjw + hpjr + hcjb + hcjw + hcjr;
if (resultat == 0) return;
return 'J | ' + resultat.toFixed(2) + ' €';
]]]
template: conso_total_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let hpjb = (states['sensor.hpdb'].state - states['sensor.hpdbl'].state) * states['input_number.hp_bleu'].state;
let hpjw = (states['sensor.hpdw'].state - states['sensor.hpdwl'].state) * states['input_number.hp_blanc'].state;
let hpjr = (states['sensor.hpdr'].state - states['sensor.hpdrl'].state) * states['input_number.hp_rouge'].state;
let hcjb = (states['sensor.hcdb'].state - states['sensor.hcdbl'].state) * states['input_number.hc_bleu'].state;
let hcjw = (states['sensor.hcdw'].state - states['sensor.hcdwl'].state) * states['input_number.hc_blanc'].state;
let hcjr = (states['sensor.hcdr'].state - states['sensor.hcdrl'].state) * states['input_number.hc_rouge'].state;
let resultat = hpjb + hpjw + hpjr + hcjb + hcjw + hcjr;
if (resultat == 0) return;
return 'J-1 | ' + resultat.toFixed(2) + ' €';
]]]
template: conso_total_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let hpsb = (states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpsb'].state) * states['input_number.hp_bleu'].state;
let hpsw = (states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpsw'].state) * states['input_number.hp_blanc'].state;
let hpsr = (states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpsr'].state) * states['input_number.hp_rouge'].state;
let hcsb = (states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcsb'].state) * states['input_number.hc_bleu'].state;
let hcsw = (states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcsw'].state) * states['input_number.hc_blanc'].state;
let hcsr = (states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcsr'].state) * states['input_number.hc_rouge'].state;
let resultat = hpsb + hpsw + hpsr + hcsb + hcsw + hcsr;
if (resultat == 0) return;
return 'S | ' + resultat.toFixed(2) + ' €';
]]]
template: conso_total_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let hpsb = (states['sensor.hpsb'].state - states['sensor.hpsbl'].state) * states['input_number.hp_bleu'].state;
let hpsw = (states['sensor.hpsw'].state - states['sensor.hpswl'].state) * states['input_number.hp_blanc'].state;
let hpsr = (states['sensor.hpsr'].state - states['sensor.hpsrl'].state) * states['input_number.hp_rouge'].state;
let hcsb = (states['sensor.hcsb'].state - states['sensor.hcsbl'].state) * states['input_number.hc_bleu'].state;
let hcsw = (states['sensor.hcsw'].state - states['sensor.hcswl'].state) * states['input_number.hc_blanc'].state;
let hcsr = (states['sensor.hcsr'].state - states['sensor.hcsrl'].state) * states['input_number.hc_rouge'].state;
let resultat = hpsb + hpsw + hpsr + hcsb + hcsw + hcsr;
if (resultat == 0) return;
return 'S-1 | ' + resultat.toFixed(2) + ' €';
]]]
template: conso_total_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let hpjb = (states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpmb'].state) * states['input_number.hp_bleu'].state;
let hpjw = (states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpmw'].state) * states['input_number.hp_blanc'].state;
let hpjr = (states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpmr'].state) * states['input_number.hp_rouge'].state;
let hcjb = (states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcmb'].state) * states['input_number.hc_bleu'].state;
let hcjw = (states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcmw'].state) * states['input_number.hc_blanc'].state;
let hcjr = (states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcmr'].state) * states['input_number.hc_rouge'].state;
let resultat = hpjb + hpjw + hpjr + hcjb + hcjw + hcjr;
if (resultat == 0) return;
return 'M | ' + resultat.toFixed(2) + ' €';
]]]
template: conso_total_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let hpjb = (states['sensor.hpmb'].state - states['sensor.hpmbl'].state) * states['input_number.hp_bleu'].state;
let hpjw = (states['sensor.hpmw'].state - states['sensor.hpmwl'].state) * states['input_number.hp_blanc'].state;
let hpjr = (states['sensor.hpmr'].state - states['sensor.hpmrl'].state) * states['input_number.hp_rouge'].state;
let hcjb = (states['sensor.hcmb'].state - states['sensor.hcmbl'].state) * states['input_number.hc_bleu'].state;
let hcjw = (states['sensor.hcmw'].state - states['sensor.hcmwl'].state) * states['input_number.hc_blanc'].state;
let hcjr = (states['sensor.hcmr'].state - states['sensor.hcmrl'].state) * states['input_number.hc_rouge'].state;
let resultat = hpjb + hpjw + hpjr + hcjb + hcjw + hcjr;
if (resultat == 0) return;
return 'M-1 | ' + resultat.toFixed(2) + ' €';
]]]
template: conso_total_label
- type: custom:button-card
entity: input_boolean.off
label: ' '
template: conso_blank_space
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: |
[[[
let hpjb = (states['sensor.em_maison_bbrhpjb'].state - states['sensor.hpab'].state) * states['input_number.hp_bleu'].state;
let hpjw = (states['sensor.em_maison_bbrhpjw'].state - states['sensor.hpaw'].state) * states['input_number.hp_blanc'].state;
let hpjr = (states['sensor.em_maison_bbrhpjr'].state - states['sensor.hpar'].state) * states['input_number.hp_rouge'].state;
let hcjb = (states['sensor.em_maison_bbrhcjb'].state - states['sensor.hcab'].state) * states['input_number.hc_bleu'].state;
let hcjw = (states['sensor.em_maison_bbrhcjw'].state - states['sensor.hcaw'].state) * states['input_number.hc_blanc'].state;
let hcjr = (states['sensor.em_maison_bbrhcjr'].state - states['sensor.hcar'].state) * states['input_number.hc_rouge'].state;
let resultat = hpjb + hpjw + hpjr + hcjb + hcjw + hcjr;
if (resultat == 0) return;
return 'A | ' + resultat.toFixed(2) + ' €';
]]]
template: conso_total_label
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
label: |
[[[
let hpjb = (states['sensor.hpab'].state - states['sensor.hpabl'].state) * states['input_number.hp_bleu'].state;
let hpjw = (states['sensor.hpaw'].state - states['sensor.hpawl'].state) * states['input_number.hp_blanc'].state;
let hpjr = (states['sensor.hpar'].state - states['sensor.hparl'].state) * states['input_number.hp_rouge'].state;
let hcjb = (states['sensor.hcab'].state - states['sensor.hcabl'].state) * states['input_number.hc_bleu'].state;
let hcjw = (states['sensor.hcaw'].state - states['sensor.hcawl'].state) * states['input_number.hc_blanc'].state;
let hcjr = (states['sensor.hcar'].state - states['sensor.hcarl'].state) * states['input_number.hc_rouge'].state;
let resultat = hpjb + hpjw + hpjr + hcjb + hcjw + hcjr;
if (resultat == 0) return;
return 'A-1 | ' + resultat.toFixed(2) + ' €';
]]]
template: conso_total_label
prices:
card:
type: vertical-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
label: TARIFS
template: conso_total_label
- type: horizontal-stack
cards:
- type: custom:button-card
entity: input_number.hp_bleu
label: '[[[ return states["input_number.hp_bleu"].state + " €/Kwh"]]]'
template: conso_blue_hp_label
- type: custom:button-card
entity: input_number.hp_blanc
label: '[[[ return states["input_number.hp_blanc"].state + " €/Kwh" ]]]'
template: conso_white_hp_label
- type: custom:button-card
entity: input_number.hp_rouge
label: '[[[ return states["input_number.hp_rouge"].state + " €/Kwh" ]]]'
template: conso_red_hp_label
- type: horizontal-stack
cards:
- type: custom:button-card
entity: input_number.hc_bleu
label: '[[[ return states["input_number.hc_bleu"].state + " €/Kwh" ]]]'
template: conso_blue_hc_label
- type: custom:button-card
entity: input_number.hc_blanc
label: '[[[ return states["input_number.hc_blanc"].state + " €/Kwh" ]]]'
template: conso_white_hc_label
- type: custom:button-card
entity: input_number.hc_rouge
label: '[[[ return states["input_number.hc_rouge"].state + " €/Kwh" ]]]'
template: conso_red_hc_label
fichier sql.yaml
### Jour
- name: hpdb
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjb'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hpdw
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjw'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hpdr
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjr'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcdb
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjb'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcdw
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjw'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcdr
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjr'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
### Jour -1
- name: hpdbl
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjb'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - 86400 +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hpdwl
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjw'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - 86400 +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hpdrl
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjr'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - 86400 +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcdbl
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjb'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - 86400 +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcdwl
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjw'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - 86400 +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcdrl
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjr'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - 86400 +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
### Semaine
- name: hpsb
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjb'
AND last_updated_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hpsw
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjw'
AND last_updated_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hpsr
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjr'
AND last_updated_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcsb
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjb'
AND last_updated_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcsw
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjw'
AND last_updated_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcsr
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjr'
AND last_updated_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
### Semaine -1
- name: hpsbl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjb'
AND created_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts DESC
LIMIT
1;
- name: hpswl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjw'
AND created_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts DESC
LIMIT
1;
- name: hpsrl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjr'
AND created_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts DESC
LIMIT
1;
- name: hcsbl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjb'
AND created_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts DESC
LIMIT
1;
- name: hcswl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjw'
AND created_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts DESC
LIMIT
1;
- name: hcsrl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjr'
AND created_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts DESC
LIMIT
1;
### Mois
- name: hpmb
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjb'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hpmw
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjw'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hpmr
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjr'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcmb
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjb'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcmw
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjw'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcmr
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjr'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
### Mois -1
- name: hpmbl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjb'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1 +
CASE strftime('%m', 'now')
WHEN '01' THEN 31 -- Decembre
WHEN '02' THEN 31 -- Janvier
WHEN '03' THEN 28 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) -- Fevrier
WHEN '04' THEN 31 -- Mars
WHEN '05' THEN 30 -- Avril
WHEN '06' THEN 31 -- Mai
WHEN '07' THEN 30 -- Juin
WHEN '08' THEN 31 -- Juillet
WHEN '09' THEN 31 -- Aout
WHEN '10' THEN 30 -- Septembre
WHEN '11' THEN 31 -- Octobre
WHEN '12' THEN 30 -- Novembre
END) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hpmwl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjw'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1 +
CASE strftime('%m', 'now')
WHEN '01' THEN 31 -- Decembre
WHEN '02' THEN 31 -- Janvier
WHEN '03' THEN 28 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) -- Fevrier
WHEN '04' THEN 31 -- Mars
WHEN '05' THEN 30 -- Avril
WHEN '06' THEN 31 -- Mai
WHEN '07' THEN 30 -- Juin
WHEN '08' THEN 31 -- Juillet
WHEN '09' THEN 31 -- Aout
WHEN '10' THEN 30 -- Septembre
WHEN '11' THEN 31 -- Octobre
WHEN '12' THEN 30 -- Novembre
END) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hpmrl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjr'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1 +
CASE strftime('%m', 'now')
WHEN '01' THEN 31 -- Decembre
WHEN '02' THEN 31 -- Janvier
WHEN '03' THEN 28 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) -- Fevrier
WHEN '04' THEN 31 -- Mars
WHEN '05' THEN 30 -- Avril
WHEN '06' THEN 31 -- Mai
WHEN '07' THEN 30 -- Juin
WHEN '08' THEN 31 -- Juillet
WHEN '09' THEN 31 -- Aout
WHEN '10' THEN 30 -- Septembre
WHEN '11' THEN 31 -- Octobre
WHEN '12' THEN 30 -- Novembre
END) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcmbl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjb'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1 +
CASE strftime('%m', 'now')
WHEN '01' THEN 31 -- Decembre
WHEN '02' THEN 31 -- Janvier
WHEN '03' THEN 28 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) -- Fevrier
WHEN '04' THEN 31 -- Mars
WHEN '05' THEN 30 -- Avril
WHEN '06' THEN 31 -- Mai
WHEN '07' THEN 30 -- Juin
WHEN '08' THEN 31 -- Juillet
WHEN '09' THEN 31 -- Aout
WHEN '10' THEN 30 -- Septembre
WHEN '11' THEN 31 -- Octobre
WHEN '12' THEN 30 -- Novembre
END) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcmwl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjw'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1 +
CASE strftime('%m', 'now')
WHEN '01' THEN 31 -- Decembre
WHEN '02' THEN 31 -- Janvier
WHEN '03' THEN 28 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) -- Fevrier
WHEN '04' THEN 31 -- Mars
WHEN '05' THEN 30 -- Avril
WHEN '06' THEN 31 -- Mai
WHEN '07' THEN 30 -- Juin
WHEN '08' THEN 31 -- Juillet
WHEN '09' THEN 31 -- Aout
WHEN '10' THEN 30 -- Septembre
WHEN '11' THEN 31 -- Octobre
WHEN '12' THEN 30 -- Novembre
END) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcmrl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjr'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1 +
CASE strftime('%m', 'now')
WHEN '01' THEN 31 -- Decembre
WHEN '02' THEN 31 -- Janvier
WHEN '03' THEN 28 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) -- Fevrier
WHEN '04' THEN 31 -- Mars
WHEN '05' THEN 30 -- Avril
WHEN '06' THEN 31 -- Mai
WHEN '07' THEN 30 -- Juin
WHEN '08' THEN 31 -- Juillet
WHEN '09' THEN 31 -- Aout
WHEN '10' THEN 30 -- Septembre
WHEN '11' THEN 31 -- Octobre
WHEN '12' THEN 30 -- Novembre
END) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
### Année
- name: hpab
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjb'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hpaw
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjw'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hpar
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjr'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcab
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjb'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcaw
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjw'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcar
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjr'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
### Année -1
- name: hpabl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjb'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) * 365) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hpawl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjw'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) * 365) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hparl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjr'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) * 365) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcabl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjb'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) * 365) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcawl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjw'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) * 365) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcarl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjr'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) * 365) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
Hello @Nemesis24 ,
Petite réflexion du jour, suite à la judicieuse remarque de @Lesuperlolo ,
@Ludoc Ton tarif tempo est celui du 08-23. Il a changé au 02-24.
En partant du principe que tu arrives à faire des requêtes sur de longues périodes, comment vas tu gérer les changements de prix comme celui du début de mois, et du coup utiliser l’ancien prix pour les données avant cette augmentation ?
Je n’y connais pas grand chose en db, mais est ce que ça ne vaudrait pas le coup de faire :
- un export des données existantes dans une nouvelle db avec le prix correspondant.
- alimenter au jour-1 cette db avec le prix actuel.
- et du coup utiliser cette db (début des enregistrements jusqu’à j-1) et avec les données du jour pour afficher la carte, du coup plus de problème de table.
Juste une réflexion
hello, pour le changement de tarif je n’avais rien prévu en plus je pense que ca doit être une vrai usine à gaz, déjà qu’au niveau des requêtes c’est déjà le cas, pour ce que tu propose ensuite cela dépasse clairement mes compétences. Pour les tables si il n’y a pas de solutions directement via la requête il suffira de créer de nouvelles entités pour j-1, m et a qui tape la seconde table et vérifier préalablement dans le code de la carte si on est > ou < à 10 jours, pour taper la bonne entité.
Je pense être ce coup ci bon sur les requêtes sql , les modifications apportées permettent d’obtenir le bon résultat en fonction de la bonne table suivant la specificité d’home assistant sur le court terme et le long terme, ainsi cette version prend en compte une valeur correcte pour les cas ou S-1, M, A sont supérieur ou inférieur à 10 jours…voici le nouveau fichier
### Jour
- name: hpdb
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjb'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hpdw
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjw'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hpdr
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjr'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcdb
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjb'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcdw
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjw'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcdr
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjr'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
### Jour -1
- name: hpdbl
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjb'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - 86400 +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hpdwl
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjw'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - 86400 +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hpdrl
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjr'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - 86400 +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcdbl
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjb'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - 86400 +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcdwl
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjw'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - 86400 +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcdrl
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjr'
AND last_updated_ts <= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - 86400 +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
### Semaine
- name: hpsb
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjb'
AND last_updated_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hpsw
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjw'
AND last_updated_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hpsr
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjr'
AND last_updated_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcsb
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjb'
AND last_updated_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcsw
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjw'
AND last_updated_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
- name: hcsr
column: "state"
query: >
SELECT
states.state
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjr'
AND last_updated_ts <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', last_updated_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
last_updated_ts DESC
LIMIT
1;
### Semaine -1
- name: hpsbl
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjb'
AND Timestamp <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjb'
AND Timestamp <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp DESC
LIMIT
1;
- name: hpswl
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjw'
AND Timestamp <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjw'
AND Timestamp <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp DESC
LIMIT
1;
- name: hpsrl
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjr'
AND Timestamp <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjr'
AND Timestamp <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp DESC
LIMIT
1;
- name: hcsbl
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjb'
AND Timestamp <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjb'
AND Timestamp <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp DESC
LIMIT
1;
- name: hcswl
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjw'
AND Timestamp <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjw'
AND Timestamp <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp DESC
LIMIT
1;
- name: hcsrl
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjr'
AND Timestamp <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjr'
AND Timestamp <= strftime('%s', 'now') - (((strftime('%w', 'now') + 6) % 7 + 7) * 86400) - (strftime('%s', 'now') % 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp DESC
LIMIT
1;
### Mois
- name: hpmb
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjb'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjb'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp ASC
LIMIT
1;
- name: hpmw
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjw'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjw'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp ASC
LIMIT
1;
- name: hpmr
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjr'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjr'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp ASC
LIMIT
1;
- name: hcmb
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjb'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjb'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp ASC
LIMIT
1;
- name: hcmw
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjw'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjw'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp ASC
LIMIT
1;
- name: hcmr
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjr'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjr'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp ASC
LIMIT
1;
### Mois -1
- name: hpmbl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjb'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1 +
CASE strftime('%m', 'now')
WHEN '01' THEN 31 -- Decembre
WHEN '02' THEN 31 -- Janvier
WHEN '03' THEN 28 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) -- Fevrier
WHEN '04' THEN 31 -- Mars
WHEN '05' THEN 30 -- Avril
WHEN '06' THEN 31 -- Mai
WHEN '07' THEN 30 -- Juin
WHEN '08' THEN 31 -- Juillet
WHEN '09' THEN 31 -- Aout
WHEN '10' THEN 30 -- Septembre
WHEN '11' THEN 31 -- Octobre
WHEN '12' THEN 30 -- Novembre
END) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hpmwl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjw'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1 +
CASE strftime('%m', 'now')
WHEN '01' THEN 31 -- Decembre
WHEN '02' THEN 31 -- Janvier
WHEN '03' THEN 28 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) -- Fevrier
WHEN '04' THEN 31 -- Mars
WHEN '05' THEN 30 -- Avril
WHEN '06' THEN 31 -- Mai
WHEN '07' THEN 30 -- Juin
WHEN '08' THEN 31 -- Juillet
WHEN '09' THEN 31 -- Aout
WHEN '10' THEN 30 -- Septembre
WHEN '11' THEN 31 -- Octobre
WHEN '12' THEN 30 -- Novembre
END) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hpmrl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjr'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1 +
CASE strftime('%m', 'now')
WHEN '01' THEN 31 -- Decembre
WHEN '02' THEN 31 -- Janvier
WHEN '03' THEN 28 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) -- Fevrier
WHEN '04' THEN 31 -- Mars
WHEN '05' THEN 30 -- Avril
WHEN '06' THEN 31 -- Mai
WHEN '07' THEN 30 -- Juin
WHEN '08' THEN 31 -- Juillet
WHEN '09' THEN 31 -- Aout
WHEN '10' THEN 30 -- Septembre
WHEN '11' THEN 31 -- Octobre
WHEN '12' THEN 30 -- Novembre
END) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcmbl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjb'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1 +
CASE strftime('%m', 'now')
WHEN '01' THEN 31 -- Decembre
WHEN '02' THEN 31 -- Janvier
WHEN '03' THEN 28 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) -- Fevrier
WHEN '04' THEN 31 -- Mars
WHEN '05' THEN 30 -- Avril
WHEN '06' THEN 31 -- Mai
WHEN '07' THEN 30 -- Juin
WHEN '08' THEN 31 -- Juillet
WHEN '09' THEN 31 -- Aout
WHEN '10' THEN 30 -- Septembre
WHEN '11' THEN 31 -- Octobre
WHEN '12' THEN 30 -- Novembre
END) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcmwl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjw'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1 +
CASE strftime('%m', 'now')
WHEN '01' THEN 31 -- Decembre
WHEN '02' THEN 31 -- Janvier
WHEN '03' THEN 28 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) -- Fevrier
WHEN '04' THEN 31 -- Mars
WHEN '05' THEN 30 -- Avril
WHEN '06' THEN 31 -- Mai
WHEN '07' THEN 30 -- Juin
WHEN '08' THEN 31 -- Juillet
WHEN '09' THEN 31 -- Aout
WHEN '10' THEN 30 -- Septembre
WHEN '11' THEN 31 -- Octobre
WHEN '12' THEN 30 -- Novembre
END) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcmrl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjr'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%d', 'now') - 1 +
CASE strftime('%m', 'now')
WHEN '01' THEN 31 -- Decembre
WHEN '02' THEN 31 -- Janvier
WHEN '03' THEN 28 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) -- Fevrier
WHEN '04' THEN 31 -- Mars
WHEN '05' THEN 30 -- Avril
WHEN '06' THEN 31 -- Mai
WHEN '07' THEN 30 -- Juin
WHEN '08' THEN 31 -- Juillet
WHEN '09' THEN 31 -- Aout
WHEN '10' THEN 30 -- Septembre
WHEN '11' THEN 31 -- Octobre
WHEN '12' THEN 30 -- Novembre
END) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
### Année
- name: hpab
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjb'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjb'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp ASC
LIMIT
1;
- name: hpaw
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjw'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjw'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp ASC
LIMIT
1;
- name: hpar
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhpjr'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjr'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp ASC
LIMIT
1;
- name: hcab
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjb'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjb'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp ASC
LIMIT
1;
- name: hcaw
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjw'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjw'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp ASC
LIMIT
1;
- name: hcar
column: "state"
query: >
SELECT
state, last_updated_ts AS Timestamp
FROM
states
INNER JOIN states_meta ON
states.metadata_id = states_meta.metadata_id
WHERE
states_meta.entity_id = 'sensor.em_maison_bbrhcjr'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
UNION ALL
SELECT
state, created_ts AS Timestamp
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjr'
AND Timestamp >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1) * 86400) +
CASE
WHEN strftime('%m', Timestamp) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY Timestamp ASC
LIMIT
1;
### Année -1
- name: hpabl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjb'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) * 365) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hpawl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjw'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) * 365) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hparl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhpjr'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) * 365) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcabl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjb'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) * 365) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcawl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjw'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) * 365) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
- name: hcarl
column: "state"
query: >
SELECT
statistics.state
FROM
statistics
INNER JOIN statistics_meta ON
statistics.metadata_id = statistics_meta.id
WHERE
statistic_id = 'sensor.em_maison_bbrhcjr'
AND created_ts >= strftime('%s', 'now') - (strftime('%s', 'now') % 86400) - ((strftime('%j', 'now') - 1 + (strftime('%Y', 'now') % 4 = 0 AND (strftime('%Y', 'now') % 100 != 0 OR strftime('%Y', 'now') % 400 = 0)) * 365) * 86400) +
CASE
WHEN strftime('%m', created_ts) BETWEEN '04' AND '10' THEN 25200
ELSE 18000
END
ORDER BY
created_ts ASC
LIMIT
1;
Bonjour à tous,
Je dois être un peu limité mais y a une chose que je pige pas.
Je voudrais faire dans mon dashboard energie un truc de ce genre.
Cependant je ne possède pas de pinces amperemetrique, ni de Lixee ou autre truc du genre.
Juste mon contrat Tempo et mon Linky que j’arrive a récupérer actuellement dans HA mais avec un seul suivi dans mon Dashboard energy via https://github.com/bokub/ha-linky
(et pas 2 entité par code couleur (bleu blanc rouge - hp et hc)
Je ne vois pas pourquoi ca ne serait pas faisable vu que les plage horaire sont connues et envoyées par le linky mais bon …
Merci d’avance
Bonjour à tous,
J’ai rajouté mes entités dans mon tableau de bord énergie puisque je suis passé sur l’offre TEMPO. Tout fonctionne très bien sauf que je n’ai plus accès à mon historique et ma consommation de mon ancienne offre HC/HP.
Avez vous la même chose ?
bonjour
je veux calculer le prix de revient journalier (pour l’instant) mes commutations de tarifs fonctionnent correctement , j’utilise l’energie HP et l’energie HC cette partie fonctionne correctement mais au changement de tarif ( 6h et 22h) la valeur prend le nouveau tarif au lieu de rester à l’ancien d’où ma question comment bloquer l’evolution du cout à chaque changement de tarif afin de suivre la courbe de l’energie ?
je mets un ex pour que ce soit plus clair :
le code :
- name: tarif elec en cours
state: "{% set t = now().hour %}
{% if t >= 6 and t < 22 %}
{% if is_state('sensor.rte_tempo_couleur_actuelle', 'Bleu') %}
0.1609
{% elif is_state('sensor.rte_tempo_couleur_actuelle', 'Blanc') %}
0.1894
{% elif is_state('sensor.rte_tempo_couleur_actuelle', 'Rouge') %}
0.7562
{% else %}
erreur
{% endif %}
{% else %}
{% if is_state('sensor.rte_tempo_couleur_actuelle', 'Bleu') %}
0.1296
{% elif is_state('sensor.rte_tempo_couleur_actuelle', 'Blanc') %}
0.1486
{% elif is_state('sensor.rte_tempo_couleur_actuelle', 'Rouge') %}
0.1568
{% else %}
erreur
{% endif %}
{% endif %}"
- name : cout elec jour hc
unit_of_measurement: "€"
state: "{{ ((states('sensor.tarif_elec_en_cours') |float ) *
(states ('sensor.energie_tempo_hc') | float /1000) ) |round(2)}}"
- name : cout elec jour hp
unit_of_measurement: "€"
state: "{{ ((states('sensor.tarif_elec_en_cours') |float ) *
(states ('sensor.energie_tempo_hp') | float /1000) ) |round(2)}}"
- name : cout elec jour hc+hp
unit_of_measurement: "€"
state: "{{ ((states('sensor.cout_elec_jour_hc') |float ) +
(states ('sensor.cout_elec_jour_hp') | float ) ) |round(2)}}"
Bonjour,
Comment faire pour déclarer des services comme dans l’exemple ci-dessous (configuration de @samourai47 )
action:
- service: notify.SMS_FREE_PHILIPPE
data:
message: >-
Aujourd'hui {{ states('sensor.rte_tempo_couleur_actuelle') }}, demain {{
states('sensor.rte_tempo_prochaine_couleur') }}
- service: notify.SMS_FREE_MICHELLE
data:
message: >-
La couleur EDF TEMPO. Aujourd'hui {{
notify.SMS_FREE_PHILIPPE
ou
notify.SMS_FREE_MICHELLE
j’ai bien essayé ça dans le configuration.yaml :
notify:
- name: sms_toto
platform: sms
recipient: +33612345678
j’ai sauvegardé et redémarré et lorsque je vais dans « outils de développement » → service notify.sms_toto n’existe pas
Bonjour,
J’essaye d’intégrer la carte de @chuppito dans mon interface mais j’ai une erreur que je n’arrive pas à régler…
Si je prends la carte de base, j’ai bien les infos aujourd’hui et demain:
Mais cela ne tient pas compte des modifs apportées pour tenir compte d’un état du prochain jour en « indisponible ».
Là il me retourne le résultat suivant:
Pourtant:
- Je dispose bien de l’info comme quoi demain sera bleu
- Si réellement je n’avais pas l’info je m’attends à ce que la couleur de fond soit orange si je comprends bien le code
Ca coince très probablement là, mais pour le coup je pige pas quoi…
var now = new Date();
var midnight = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1);
var day = midnight.toLocaleString('fr-FR', { weekday: 'long' });
var dayOfMonth = ('0' + midnight.getDate()).slice(-2);
var month = midnight.toLocaleString('fr-FR', { month: 'long' }).replace('.', '');
var colorState = states['sensor.rte_tempo_prochaine_couleur'];
var color = (colorState && colorState.state) ? colorState.state : 'indisponible';
Le code en totalité:
type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
name: Aujourd'hui
show_label: label
label: |
[[[
var now = new Date();
var midnight = new Date(now.getFullYear(), now.getMonth(), now.getDate());
var day = midnight.toLocaleString('fr-FR', { weekday: 'long' });
var dayOfMonth = ('0' + midnight.getDate()).slice(-2);
var month = midnight.toLocaleString('fr-FR', { month: 'long' }).replace('.', '');
var color = states['sensor.rte_tempo_couleur_actuelle'].state;
var hpPrice = states['input_number.tarif_edf_tempo_hp_' + color.toLowerCase()].state;
var hcPrice = states['input_number.tarif_edf_tempo_hc_' + color.toLowerCase()].state;
var joursRestants = states['sensor.rte_tempo_cycle_jours_restants_' + color.toLowerCase()].state;
var content = `<span style="font-size: 1.2em; margin: 10px 0;">${day} ${dayOfMonth} ${month}</span><br><span style="font-size: 0.9em; margin: 5px 0;">Jusqu'à 06h00</span><hr style="margin: 1px 0 8px; border-top: 1px solid rgba(0, 0, 0, 0.2);">il reste ${joursRestants} ${color}`;
content += `<br>Tarif HP: ${hpPrice} €/kWh<br>Tarif HC: ${hcPrice} €/kWh`;
return content;
]]]
styles:
card:
- height: 130px
- background-color: |
[[[
var color = states['sensor.rte_tempo_couleur_actuelle'].state.toLowerCase();
return (color === 'rouge') ? '#fe1b00' :
(color === 'blanc') ? 'white' :
(color === 'bleu') ? 'dodgerblue' :
'var(--card-background-color)';
]]]
- color: |
[[[
return (states['sensor.rte_tempo_couleur_actuelle'].state.toLowerCase() === 'blanc') ? 'black' : 'white';
]]]
- border-radius: 20px
- padding: 16px
- font-size: 1.2em
- text-align: center
- box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.3)
grid:
- grid-template-areas: '"n" "l"'
- grid-template-rows: 1fr min-content
name:
- font-weight: bold
- font-size: 1.2em
label:
- font-size: 0.8em
- justify-self: center
- align-self: center
- margin-top: 10px
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
name: Demain
show_label: true
label: |
[[[
var now = new Date();
var midnight = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1);
var day = midnight.toLocaleString('fr-FR', { weekday: 'long' });
var dayOfMonth = ('0' + midnight.getDate()).slice(-2);
var month = midnight.toLocaleString('fr-FR', { month: 'long' }).replace('.', '');
var colorState = states['sensor.rte_tempo_prochaine_couleur'];
var color = (colorState && colorState.state) ? colorState.state : 'indisponible';
var hpPriceState = states['input_number.tarif_edf_tempo_hp_' + color.toLowerCase()];
var hcPriceState = states['input_number.tarif_edf_tempo_hc_' + color.toLowerCase()];
var joursRestantsState = states['sensor.rte_tempo_cycle_jours_restants_' + color.toLowerCase()].state;
if (colorState && hpPriceState && hcPriceState && joursRestantsState &&
colorState.state && hpPriceState.state && hcPriceState.state && joursRestantsState.state) {
var hpPrice = hpPriceState.state;
var hcPrice = hcPriceState.state;
var joursRestants = joursRestantsState.state;
var content = `<span style="font-size: 1.2em; margin: 10px 0;">${day} ${dayOfMonth} ${month}</span><br><span style="font-size: 0.9em; margin: 5px 0;">Jusqu'à 06h00</span><hr style="margin: 1px 0 8px; border-top: 1px solid rgba(0, 0, 0, 0.2);">il reste ${joursRestants} ${color}`;
content += `<br>Tarif HP: ${hpPrice} €/kWh<br>Tarif HC: ${hcPrice} €/kWh`;
return content;
} else {
// Orange si unavailable
return 'Jour non défini';
}
]]]
styles:
card:
- height: 130px
- background-color: |
[[[
var colorState = states['sensor.rte_tempo_prochaine_couleur'];
if (colorState && colorState.state) {
var color = colorState.state.toLowerCase();
return (color === 'rouge') ? '#fe1b00' :
(color === 'blanc') ? 'white' :
(color === 'bleu') ? 'dodgerblue' :
(color === 'unavailable') ? 'orange' :
'var(--card-background-color)';
} else {
// Sinon jaune (aucun état ci-dessus)
return 'yellow';
}
]]]
- color: |
[[[
var colorState = states['sensor.rte_tempo_prochaine_couleur'];
return (colorState && colorState.state && colorState.state.toLowerCase() === 'blanc') ? 'black' : 'white';
]]]
- border-radius: 20px
- padding: 16px
- font-size: 1.2em
- text-align: center
- box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.3)
grid:
- grid-template-areas: '"n" "l"'
- grid-template-rows: 1fr min-content
name:
- font-weight: bold
- font-size: 1.2em
label:
- font-size: 0.8em
- justify-self: center
- align-self: center
- margin-top: 10px
Merci d’avance!
Antoine
SLT, pour info les tarifs HP et HC sont faux.
les tarifs en vigueurs:
Salut,
Oui merci, je m’en suis rendu compte dans l’aprèm…
Je devais encore être sur les anciens!