hello à tous,
Depuis la Maj des tarifs de février mes tarifs ne sont pas mis à jour automatiquement j’utilisais jusqu’a présent l’intégration hekmon/rtetempo et tout fonctionne à merveille, sauf la mise à jour. Avez vous eu ce problème également ?
hello à tous,
Depuis la Maj des tarifs de février mes tarifs ne sont pas mis à jour automatiquement j’utilisais jusqu’a présent l’intégration hekmon/rtetempo et tout fonctionne à merveille, sauf la mise à jour. Avez vous eu ce problème également ?
Bonjour
Pour ma part, la mise à jour des prix n’est pas automatique (Il me semble que ce n’est pas prévue), Je les modifie manuellement.
Pour me simplifier la chose, j’ai créé des input_number pour chaque tarif.
hello,
ahhhh tu m’as mis la puce a l’oreille, c’est vrai ca il faut mettre à jour les input dans le YAMl, merciii pour la mémoire, a force tu fais tellement de chose de partout dans HA, avec toutes les intégrations que tu oublies, meme si je créée des blocs notes de partout, bonne journée à toi
C’est pour cela que j’ai créé des input_number par l’UI que je peux modifier facilement.
Par contre j’ai du modifié les YAML pour inclure les input_number dedans.
Mais c’est vrai que c’est pas toujours evident de retrouver ce qu’il faut modifier, tellement on fait de choses sur HA
c’est clair, c’est bon j’ai copié les input yaml du GitHub, et zoukai ca marche nickel, par contre j’utilise ta carte Button-card dont tu as mis le code mais avant Maj à de Tempo pour le lendemain, j’ai une erreur sur la carte du style « buttoncardJSTemplate » pour le jour de demain, c’est sans doute dû qu’à 11h du matin en passant par API officiel je n’ai pas encore l’info, l’as tu modifié entre temps pour corriger cela ?
cette carte ?
square: false
type: grid
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
name: Aujourd'hui
show_label: true
label: |
[[[
var date = new Date();
var day = date.toLocaleString('fr-FR', { weekday: 'short' }).slice(0, 3);
var dayOfMonth = ('0' + date.getDate()).slice(-2);
var month = date.toLocaleString('fr-FR', { month: 'short' }).replace('.', '');
var hc = states['binary_sensor.rte_tempo_heures_creuses'].state;
var couleurActuelle = states['sensor.rte_tempo_couleur_actuelle'].state.toLowerCase();
var heuresPleinesActuelles = states['binary_sensor.rte_tempo_heures_creuses'].state;
var heuresCreusesActuelles = states['binary_sensor.rte_tempo_heures_creuses'].state;
var hpprixLabel;
if (couleurActuelle === 'bleu' && heuresPleinesActuelles)
{hpprixLabel = (Math.round(states['input_number.tarif_edf_tempo_bleu_hp'].state *10000)/100).toString();}
else if (couleurActuelle === 'blanc' && heuresPleinesActuelles)
{hpprixLabel = (Math.round(states['input_number.tarif_edf_tempo_blanc_hp'].state *10000)/100).toString();}
else if (couleurActuelle === 'rouge' && heuresPleinesActuelles)
{hpprixLabel = (Math.round(states['input_number.tarif_edf_tempo_rouge_hp'].state *10000)/100).toString();}
else
{hpprixLabel = 'Aucune information disponible';}
var hcprixLabel;
if (couleurActuelle === 'bleu' && heuresCreusesActuelles)
{hcprixLabel = (Math.round(states['input_number.tarif_edf_tempo_bleu_hc'].state *10000)/100).toString();}
else if (couleurActuelle === 'blanc' && heuresCreusesActuelles)
{hcprixLabel = (Math.round(states['input_number.tarif_edf_tempo_blanc_hc'].state *10000)/100).toString();}
else if (couleurActuelle === 'rouge' && heuresCreusesActuelles)
{hcprixLabel = (Math.round(states['input_number.tarif_edf_tempo_rouge_hc'].state *10000)/100).toString();}
else
{hcprixLabel = 'Aucune information disponible';}
var currentHour = new Date().getHours();
var isCheckedhp = currentHour >= 6 && currentHour < 22; // Check if the current hour is between 06:00 and 22:00
var isCheckedhc = currentHour < 6 || currentHour >= 22; // Check if the current hour is before 06:00 or after 22:00
return `<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);
">HP ${hpprixLabel} c€/kWh ${isCheckedhp ? '✔' : ''}
<br>HC ${hcprixLabel} c€/kWh ${isCheckedhc ? '✔' : ''}
</span><hr style="margin: 1px 0 8px; border-top: 1px solid rgba(0, 0, 0, 0.2)";
"> Heures creuses ${hc}</span>
<br><br><b`;
]]]
styles:
card:
- height: 180px
- background-color: |
[[[
var color = states['sensor.rte_tempo_couleur_actuelle'].state.toLowerCase();
return (color === 'rouge') ? '#c62828' :
(color === 'blanc') ? 'white' :
(color === 'bleu') ? '#1565c0' :
'var(--card-background-color)';
]]]
- color: |
[[[
return (states['sensor.rte_tempo_couleur_actuelle'].state.toLowerCase() === 'blanc') ? 'black' : 'white';
]]]
- border-radius: 20px
- padding: 2px
- 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
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
name: Demain
show_label: true
label: |
[[[
var date = new Date();
date.setDate(date.getDate() + 1);
var day = date.toLocaleString('fr-FR', { weekday: 'short' }).slice(0, 3);
var dayOfMonth = ('0' + date.getDate()).slice(-2);
var month = date.toLocaleString('fr-FR', { month: 'short' }).replace('.', '');
var color = states['sensor.rte_tempo_prochaine_couleur'].state;
var tprice = states['sensor.edf_tempo_tomorrow_cost'].state *100;
var blrest = states['sensor.rte_tempo_cycle_jours_restants_bleu'].state;
var bcrest = states['sensor.rte_tempo_cycle_jours_restants_blanc'].state;
var rgrest = states['sensor.rte_tempo_cycle_jours_restants_rouge'].state;
return `<span style="font-size: 1.2em; margin: 10px 0;">${day} ${dayOfMonth} ${month}</span><br><span style="font-size: 0.9em; margin: 5px 0;
">A partir de 06h00</span><hr style="margin: 1px 0 8px; border-top: 1px solid rgba(0, 0, 0, 0.2);
">Prix ${tprice} c€/kWh</span><hr style="margin: 1px 0 8px; border-top: 1px solid rgba(0, 0, 0, 0.2)";
<br>🔵 ${blrest} restant
<br>⚪️ ${bcrest} restant
<br>🔴 ${rgrest} restant
<br>`;
]]]
styles:
card:
- height: 180px
- background-color: |
[[[
var color = states['sensor.rte_tempo_prochaine_couleur'].state.toLowerCase();
return (color === 'rouge') ? '#c62828' :
(color === 'blanc') ? 'white' :
(color === 'bleu') ? '#1565c0' :
'var(--card-background-color)';
]]]
- color: |
[[[
return (states['sensor.rte_tempo_prochaine_couleur'].state.toLowerCase() === 'blanc') ? 'black' : 'white';
]]]
- border-radius: 20px
- padding: 2px
- 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
columns: 1
Il ne me semble pas avoir d’erreur, mais c’est vrai que la mise à jour de demain se fait vers 11H.
Je pense que ton erreur « buttoncardJSTemplate » vient d’autres choses, peut-être une erreur ou un nom de sensor différent.
yes cette carte la, ok je vais zieuter si un sensor n’est pas correct et attendre à 11H
sinon je prends le capteur autre ou le matin à 6h on a déjà le lendemain (j’avais trouvé un autre lien qui permettait de l’avoir très tôt le matin) merci à toi
ah j’ai trouvé ce sensor il sort d’ou sensor.edf_tempo_tomorrow_cost dans ta carte, car je dois sur ta capture d’écran tu as aussi le bug, regarde demain ton prix est à 0c/Kwh. En clair il est sensé affiché le prix HP de demain dans ta carte
J’ai deux intégrations
l’intégration RTE TEMPO et une autre Multiscrape tempo.
J’ai fait un mélange des cartes et des sensor des intégrations, il faut modifier pour ton cas.
Et effectivement le prix se met à jour, mais à 11H.
Si tu modifies, met ton code, je ferai la modification sur le mien. Mais il faut que je fasse le ménage
Salut,
Pour ma part je cherchais une carte minimaliste avec toutes les infos utiles pour moi. Je suis parti sur une bubblecard et ça donne ça :
type: custom:bubble-card
card_type: button
button_type: state
entity: sensor.rte_tempo_couleur_actuelle
name: aujourd'hui
show_attribute: false
attribute: options
icon: mdi:flash
styles: |-
.bubble-button-background {
opacity: 1;
background-color: ${state === 'Blanc' ? 'grey' : 'Bleu' ? 'rgb(0,50,120,1)' : 'Rouge' ? 'rgb(200,0,10,1)' : 'black'};
}
.bubble-icon-container {
background-color: ${state === 'Blanc' ? 'grey' : 'Bleu' ? 'rgb(0,50,120,1)' : 'Rouge' ? 'rgb(200,0,10,1)' : 'black'};
}
.bubble-sub-button-1 {
background-color: ${state === 'Blanc' ? 'grey' : 'Bleu' ? 'rgb(0,50,120,1)' : 'Rouge' ? 'rgb(200,0,10,1)' : 'black'};
}
sub_button:
- entity: sensor.rte_tempo_prochaine_couleur
name: demain
icon: mdi:flash
show_name: true
show_state: true
type: custom:bubble-card
card_type: separator
name: restant
sub_button:
- entity: sensor.rte_tempo_cycle_jours_restants_bleu
show_state: true
- entity: sensor.rte_tempo_cycle_jours_restants_blanc
show_state: true
- entity: sensor.rte_tempo_cycle_jours_restants_rouge
show_state: true
styles: |
.bubble-sub-button-1 {
background-color: rgb(0,50,120,1);
}
.bubble-sub-button-2 {
background-color: rgb(120,120,120,1);
}
.bubble-sub-button-3 {
background-color: rgb(120,0,0,1);
}
Petite contribution perso si ça peut intéresser.
Bonsoir,
Oh my !
En Bubble-Card !!
Je vais te piquer tout ça
Top Je rajouterais juste un bouton pour afficher en popup les tarifs
@laurent_farin
Voilà ma version
type: custom:bubble-card
card_type: separator
name: "Tempo "
sub_button:
- entity: sensor.rte_tempo_cycle_jours_restants_bleu
show_state: true
- entity: sensor.rte_tempo_cycle_jours_restants_blanc
show_state: true
- entity: sensor.rte_tempo_cycle_jours_restants_rouge
show_state: true
styles: |
ha-card {
border-radius: 0px !important;
padding-top: 20px !important;
padding-bottom: 80px !important;
bottom: 0 !important;
}
.bubble-sub-button-1 {
background-color: rgb(15, 63, 188,1);
font-weight: bold;
}
.bubble-sub-button-2 {
background-color: rgb(241, 241, 241,1);
color: rgb(0,0,0, 1);
font-weight: bold;
}
.bubble-sub-button-3 {
background-color: rgb(224, 58, 37,1);
font-weight: bold;
}
.bubble-line {
background: var(--primary-text-color);
opacity: 0.1;
}
icon: mdi:lightning-bolt-outline
type: custom:bubble-card
card_type: button
button_type: state
entity: sensor.rte_tempo_couleur_actuelle
name: "Aujourd'hui : "
show_attribute: false
attribute: options
icon: mdi:transmission-tower-export
styles: >
.bubble-button-background {
opacity: 1;
background-color:
${state === 'Blanc'
? 'rgba(241, 241, 241, 0.5)'
: state === 'Bleu'
? 'rgba(15, 63, 188,0.5)'
: state === 'Rouge'
? 'rgba(224, 58, 37, 0.5)'
: 'black'};
}
.bubble-sub-button-1 {
font-weight: bold;
}
.bubble-icon-container {
background-color:
${state === 'Blanc'
? 'rgba(241, 241, 241, 0.5)'
: state === 'Bleu'
? 'rgba(15, 63, 188,0.5)'
: state === 'Rouge'
? 'rgba(224, 58, 37, 0.5)'
: 'black'};
}
.bubble-sub-button-1 {
background-color:
${state === 'Blanc'
? 'rgba(241, 241, 241, 1)'
: state === 'Bleu'
? 'rgba(15, 63, 188, 1)'
: state === 'Rouge'
? 'rgba(224, 58, 37, 1)'
: 'black'};
}
${card.querySelector('.bubble-name').innerText = "Aujourd'hui :" + " " +
hass.states['sensor.rte_tempo_couleur_actuelle_visuel'].state + " " +
hass.states['sensor.rte_tempo_couleur_actuelle'].state }
${card.querySelector('.bubble-sub-button-name-container').innerText = "Demain
:" + " " + hass.states['sensor.rte_tempo_prochaine_couleur_visuel'].state + "
" + hass.states['sensor.rte_tempo_prochaine_couleur'].state }
sub_button:
- entity: sensor.rte_tempo_prochaine_couleur
name: Demain
icon: mdi:transmission-tower-export
show_name: true
show_state: true
show_attribute: false
show_background: true
show_icon: true
show_last_changed: false
show_state: false
show_name: true
force_icon: false
show_last_changed: false
double_tap_action:
action: none
hold_action:
action: none
button_action:
double_tap_action:
action: none
hold_action:
action: none
Bonjour
J’aime bien le bubble card coté estétique
Moi j’ai fait ceci sans bubble card… je ne connaissais pas… avec plein de petits renseignements qui me semblent utile.
et mon code :
square: false
type: grid
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
name: |
[[[
var tarif_creux = states['sensor.tarif_tempo_heures_creuses_ttc'].state;
var tarif_plein = states['sensor.tarif_tempo_heures_pleines_ttc'].state;
var color = states['sensor.tarif_tempo_couleur'].state;
var hctmp = states['binary_sensor.rte_tempo_heures_creuses'].state;
var tarif = (hctmp === 'off') ? 'Heures pleines ' + color +': '+ tarif_plein + '€' : 'Heures creuse ' + color +': '+ tarif_creux + '€';
var tarif02 = (hctmp === 'off') ? tarif_creux + '€' : tarif_plein + '€';
return `
<span> RTE Tempo </span>
<span style="font-size: 0.75em; margin: 10px 0; font-weight: bold">
${tarif}</span>
<span style="font-size: 0.57em; margin: 8px 0; font-weight: bold">
/ ${tarif02}</span>
`;
]]]
styles:
card:
- height: auto
- background-color: |
[[[
var color = states['sensor.rte_tempo_couleur_actuelle'].state.toLowerCase();
return (color === 'rouge') ? '#c62828' :
(color === 'blanc') ? 'white' :
(color === 'bleu') ? '#1565c0' :
'var(--card-background-color)';
]]]
- color: |
[[[
return (states['sensor.rte_tempo_couleur_actuelle'].state.toLowerCase() === 'blanc') ? 'black' : 'white';
]]]
- border-radius: 0px
- border-top-left-radius: 20px
- border-top-right-radius: 20px
- padding: 2px
- 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.0em
label:
- font-size: 0.8em
- justify-self: center
- align-self: center
- type: horizontal-stack
cards:
- type: custom:button-card
entity: sensor.rte_tempo_couleur_actuelle
name: Aujourd'hui
show_label: true
label: |
[[[
var date = new Date();
var day = date.toLocaleString('fr-FR', { weekday: 'short' }).slice(0, 3);
var dayOfMonth = ('0' + date.getDate()).slice(-2);
var month = date.toLocaleString('fr-FR', { month: 'short' }).replace('.', '');
var color = states['sensor.rte_tempo_couleur_actuelle'].state;
var hctmp = states['binary_sensor.rte_tempo_heures_creuses'].state;
var hc = (hctmp === 'off') ? 'Heures pleines' : 'Heures creuses';
return `
<span style="font-size: 1.2em; margin: 10px 0;">
${day} ${dayOfMonth} ${month}</span><br>
<span style="font-size: 0.75em; margin: 10px 0; font-weight: bold">
${hc} ${color}</span>
`;
]]]
styles:
card:
- height: 80px
- background-color: |
[[[
var color = states['sensor.rte_tempo_couleur_actuelle'].state.toLowerCase();
return (color === 'rouge') ? '#c62828' :
(color === 'blanc') ? 'white' :
(color === 'bleu') ? '#1565c0' :
'var(--card-background-color)';
]]]
- color: |
[[[
return (states['sensor.rte_tempo_couleur_actuelle'].state.toLowerCase() === 'blanc') ? 'black' : 'white';
]]]
- border-radius: 0px
- border-top-right-radius: 10px
- border-bottom-right-radius: 10px
- padding: 2px
- 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
- type: custom:button-card
entity: sensor.rte_tempo_prochaine_couleur
name: Demain
show_label: true
label: |
[[[
var date = new Date();
date.setDate(date.getDate() + 1);
var day = date.toLocaleString('fr-FR', { weekday: 'short' }).slice(0, 3);
var dayOfMonth = ('0' + date.getDate()).slice(-2);
var month = date.toLocaleString('fr-FR', { month: 'short' }).replace('.', '');
var color = states['sensor.rte_tempo_prochaine_couleur'].state;
return `
<span style="font-size: 1.2em; margin: 10px 0;">
${day} ${dayOfMonth} ${month}</span><br>
<span style="font-size: 0.75em; margin: 10px 0; font-weight: bold;">
${color} à partir de 06h00</span>
`;
]]]
styles:
card:
- height: 80px
- background-color: |
[[[
var color = states['sensor.rte_tempo_prochaine_couleur'].state.toLowerCase();
return (color === 'rouge') ? '#c62828' :
(color === 'blanc') ? 'white' :
(color === 'bleu') ? '#1565c0' :
'var(--card-background-color)';
]]]
- color: |
[[[
return (states['sensor.rte_tempo_prochaine_couleur'].state.toLowerCase() === 'blanc') ? 'black' : 'white';
]]]
- border-radius: 0px
- border-top-left-radius: 10px
- border-bottom-left-radius: 10px
- padding: 2px
- 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
- type: horizontal-stack
cards:
- type: custom:button-card
show_label: true
label: |
[[[
var blrest = states['sensor.rte_tempo_cycle_jours_restants_bleu'].state;
var bcrest = states['sensor.rte_tempo_cycle_jours_restants_blanc'].state;
var rgrest = states['sensor.rte_tempo_cycle_jours_restants_rouge'].state;
return `
🔵 ${blrest} restant
⚪️ ${bcrest} restant
🔴 ${rgrest} restant`;
]]]
styles:
card:
- height: auto
- background-color: |
[[[
var color = states['sensor.rte_tempo_couleur_actuelle'].state.toLowerCase();
return (color === 'rouge') ? '#c62828' :
(color === 'blanc') ? 'white' :
(color === 'bleu') ? '#1565c0' :
'var(--card-background-color)';
]]]
- color: |
[[[
return (states['sensor.rte_tempo_couleur_actuelle'].state.toLowerCase() === 'blanc') ? 'black' : 'white';
]]]
- border-radius: 0px
- border-bottom-left-radius: 20px
- border-bottom-right-radius: 20px
- padding: 2px
- 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
columns: 1
si ça vous inspire pour faire la même chose en bubble card, ça m’intéresse .
J’aurai bien voulu que quand on ne change pas de couleur, on garde une seule ligne à l’affichage.
Bonne journée
Qu’est-ce que tu entends par là ?
Bonjour
j’aurai voulu avoir un affichage conditionnel, c’est à dire que si la couleur d’aujourd’hui, et la couleur de demain est la même, on n’affiche qu’une seule ligne comme ceci :
Plutôt que ceci:
voir deux lignes comme ceci :
C’est moi qui n’ai pas compris quelque chose ou il n’y a pas les prix ?
J’ai aussi pris l’intégration Tarif EDF mais il n’y a le prix HP / HC que du jours en cours, pas de la veille c’est dommage !
Ou j’ai raté un truc ?
Merci de ne pas poser la même question dans 2 sujets différents, c’est contre-productif.
Je te laisse effacer celui que tu veux.
J’ai uniquement le prix du jour… Je n’ai pas trouvé quelque chose de plus fiable.
L’horreur des fonctionnements ou l’ peut avoir des petits plantage
J’ai des idées ! Je vais bosser dessus et je mettrais un lien vers l’autre sujet si j’arrive à faire quelque chose d’automatique
Tu veux faire quoi avec le prix de la veille ?