j’ai ça dans mon fichier sensors.yaml
:
et ça dans le templates.yaml
:
le code de la partie availability
:
availability: "{{ states('sensor.zlinky_tic_bbrhcjb')|is_number and states('sensor.zlinky_tic_bbrhpjb')|is_number }} and states('sensor.zlinky_tic_bbrhcjw')|is_number }} and states('sensor.zlinky_tic_bbrhpjw')|is_number }} and states('sensor.zlinky_tic_bbrhcjr')|is_number }} and states('sensorzlinky_tic_bbrhpjr')|is_number }}"
edit : et dans les capteurs, j’ai ceci :
edit 2 : je me dis que c’est peut-être mon fichier templates.yaml qui ne va pas…
Si tu veux bien le regarder :
- unique_id: "tempo_time_prices"
sensor:
- name: "EDF Tempo Prix Actuel"
unique_id: "current"
device_class: "monetary"
unit_of_measurement: "c€/kWh"
icon: "mdi:cash-check"
availability: >
{{ not 'unavailable' in
[
states('sensor.rte_tempo_couleur_actuelle'),
states('binary_sensor.rte_tempo_heures_creuses'),
] and not 'unknown' in
[
states('sensor.rte_tempo_couleur_actuelle'),
states('binary_sensor.rte_tempo_heures_creuses'),
states('input_number.tarif_edf_tempo_bleu_hp'),
states('input_number.tarif_edf_tempo_bleu_hc'),
states('input_number.tarif_edf_tempo_blanc_hp'),
states('input_number.tarif_edf_tempo_blanc_hc'),
states('input_number.tarif_edf_tempo_rouge_hp'),
states('input_number.tarif_edf_tempo_rouge_hc')
]
}}
state: >
{%- if is_state('sensor.rte_tempo_couleur_actuelle', "Bleu") %}
{%- if is_state('binary_sensor.rte_tempo_heures_creuses', 'off') %}
{{ states('input_number.tarif_edf_tempo_bleu_hp') | float * 100 }}
{%- else %}
{{ states('input_number.tarif_edf_tempo_bleu_hc') | float * 100 }}
{%- endif %}
{%- elif is_state('sensor.rte_tempo_couleur_actuelle', "Blanc") %}
{%- if is_state('binary_sensor.rte_tempo_heures_creuses', 'off') %}
{{ states('input_number.tarif_edf_tempo_blanc_hp') | float * 100 }}
{%- else %}
{{ states('input_number.tarif_edf_tempo_blanc_hc') | float * 100 }}
{%- endif %}
{%- elif is_state('sensor.rte_tempo_couleur_actuelle', "Rouge") %}
{%- if is_state('binary_sensor.rte_tempo_heures_creuses', 'off') %}
{{ states('input_number.tarif_edf_tempo_rouge_hp') | float * 100 }}
{%- else %}
{{ states('input_number.tarif_edf_tempo_rouge_hc') | float * 100 }}
{%- endif %}
{%- else %}
0
{%- endif %}
- name: "EDF Tempo Prochain Prix"
unique_id: "next"
device_class: "monetary"
unit_of_measurement: "c€/kWh"
icon: "mdi:cash-clock"
availability: >
{{ not 'unavailable' in
[
states('sensor.rte_tempo_couleur_actuelle'),
states('sensor.rte_tempo_prochaine_couleur'),
states('binary_sensor.rte_tempo_heures_creuses'),
] and not 'unknown' in
[
states('sensor.rte_tempo_couleur_actuelle'),
states('sensor.rte_tempo_prochaine_couleur'),
states('binary_sensor.rte_tempo_heures_creuses'),
states('input_number.tarif_edf_tempo_bleu_hp'),
states('input_number.tarif_edf_tempo_bleu_hc'),
states('input_number.tarif_edf_tempo_blanc_hp'),
states('input_number.tarif_edf_tempo_blanc_hc'),
states('input_number.tarif_edf_tempo_rouge_hp'),
states('input_number.tarif_edf_tempo_rouge_hc')
]
}}
state: >
{%- if is_state('binary_sensor.rte_tempo_heures_creuses', 'on') %}
{%- if is_state('sensor.rte_tempo_prochaine_couleur', "Bleu") %}
{{ states('input_number.tarif_edf_tempo_bleu_hp') | float * 100 }}
{%- elif is_state('sensor.rte_tempo_prochaine_couleur', "Blanc") %}
{{ states('input_number.tarif_edf_tempo_blanc_hp') | float * 100 }}
{%- elif is_state('sensor.rte_tempo_prochaine_couleur', "Rouge") %}
{{ states('input_number.tarif_edf_tempo_rouge_hp') | float * 100 }}
{%- else %}
0
{%- endif %}
{%- else %}
{%- if is_state('sensor.rte_tempo_couleur_actuelle', "Bleu") %}
{{ states('input_number.tarif_edf_tempo_bleu_hc') | float * 100 }}
{%- elif is_state('sensor.rte_tempo_couleur_actuelle', "Blanc") %}
{{ states('input_number.tarif_edf_tempo_blanc_hc') | float * 100 }}
{%- elif is_state('sensor.rte_tempo_couleur_actuelle', "Rouge") %}
{{ states('input_number.tarif_edf_tempo_rouge_hc') | float * 100 }}
{%- else %}
0
{%- endif %}
{%- endif %}
- unique_id: "date_fr"
sensor:
- name: "Date FR sans année"
unique_id: "date_fr__sans_an"
icon: mdi:calendar-today
state: >
{% set months = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"] %}
{% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"] %}
{{ days[now().weekday()] + ' ' + now().day | string + ' ' + months[now().month-1] }}
- name: "Date FR complète"
unique_id: "date_fr__complete"
icon: mdi:calendar-today
state: >
{% set months = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"] %}
{% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"] %}
{{ days[now().weekday()] + ' ' + now().day | string + ' ' + months[now().month-1] + ' ' + now().year | string }}
- name: "date FR courte"
unique_id: "date_fr__courte"
icon: mdi:calendar-today
state: >
{% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"] %}
{{ days[now().weekday()] + ' ' + now().day | string }}
- name: "Date FR courte courte"
unique_id: "date_fr__courte_courte"
icon: mdi:calendar-today
state: >
{% set months = ["Jan", "Fev", "Mar", "Avr", "Mai", "Juin", "Juil", "Août", "Sep", "Oct", "Nov", "Dec"] %}
{{ now().day | string + ' ' + months[now().month-1] }}
- name: "Jours FR"
unique_id: "date_fr__jours"
icon: mdi:calendar-today
state: >
{{ ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"][now().weekday()] }}
- name: "Date FR Jour Heure"
unique_id: "date_fr__jour_heure"
state: >
{{ states('sensor.date_fr_complete') }} -- {{ now().strftime('%Hh%M') }}
- name: "Heure FR"
unique_id: "date_fr__heure"
state: >
{{ now().strftime('%H:%M') }}
- unique_id: "netatmo_co2_texte"
sensor:
- name: "Netatmo Bureau CO2 texte"
unique_id: "netatmo_bureau_co2_texte"
state: >
{% if states('sensor.netatmo_bureau_co2')|int(0) >= 2000 %}
Mauvais
{% elif states('sensor.netatmo_bureau_co2')|int(0) >= 1000 %}
Moyen
{% elif states('sensor.netatmo_bureau_co2')|int(0) >= 600 %}
Excellent
{% else %}
Bon
{% endif %}
availability: "{{ is_number(states('sensor.netatmo_bureau_co2')) }}"
# Partie pour la dérivée des consommations HC/HP des différentes couleurs de jours
# Voir ce post : https://forum.hacf.fr/t/cle-zlinky-lixee-avec-zha-conbee2-remonter-dans-energie-hp-hc/9058/173
#########################
# TEMPLATE #
#########################
- sensor:
- name: "ZLinky Somme Conso. HC+HP toutes couleurs"
unique_id: "zlinky_somme_HC_HP_couleurs"
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
state: >-
{% set HCbleu = states('sensor.zlinky_tic_bbrhcjb')|float(default=0)*1000 %}
{% set HPbleu = states('sensor.zlinky_tic_bbrhpjb')|float(default=0)*1000 %}
{% set HCblanc = states('sensor.zlinky_tic_bbrhcjw')|float(default=0)*1000 %}
{% set HPblanc = states('sensor.zlinky_tic_bbrhpjw')|float(default=0)*1000 %}
{% set HCrouge = states('sensor.zlinky_tic_bbrhcjr')|float(default=0)*1000 %}
{% set HProuge = states('sensorzlinky_tic_bbrhpjr')|float(default=0)*1000 %}
{{ HCbleu + HPbleu + HCblanc + HPblanc + HCrouge + HProuge | int(default=0) }}
availability: "{{ states('sensor.zlinky_tic_bbrhcjb')|is_number and states('sensor.zlinky_tic_bbrhpjb')|is_number }} and states('sensor.zlinky_tic_bbrhcjw')|is_number }} and states('sensor.zlinky_tic_bbrhpjw')|is_number }} and states('sensor.zlinky_tic_bbrhcjr')|is_number }} and states('sensorzlinky_tic_bbrhpjr')|is_number }}"