Bonsoir tout le monde,
Je viens vous demander un peu d’aide sur mon nouveau projet,
En effet, je souhaite faire le calcul journalier, hebdomadaire, mensuel et annuel de ma consommation électrique,
Pour ce faire j’utilise le module Zlinky_TIC, les données transitent par mosquitto (docker) puis par zigbee2mqtt (également docker). Les informations remontent sans aucun souci,
Depuis Home Assistant, j’ai un premier fichier template.yaml dont voici le contenu:
# Consommation jour / semaine / mois / année #
# Daily energy heure pleine
daily_energy_easf02:
source: sensor.zlinky_tic_easf02
name: Daily Energy HP
cycle: daily
tariffs:
- hp
# Daily energy heure creuse
daily_energy_easf01:
source: sensor.zlinky_tic_easf01
name: Daily Energy HC
cycle: daily
tariffs:
- hc
# Weekly energy heure pleine
weekly_energy_easf02:
source: sensor.zlinky_tic_easf02
name: Weekly Energy HP
cycle: weekly
tariffs:
- hp
# Weekly energy heure creuse
weekly_energy_easf01:
source: sensor.zlinky_tic_easf01
name: Weekly Energy HC
cycle: weekly
tariffs:
- hc
# Monthly energy heure pleine
monthly_energy_easf02:
source: sensor.zlinky_tic_easf02
name: Monthly Energy HP
cycle: monthly
tariffs:
- hp
# Monthly energy heure creuse
monthly_energy_easf01:
source: sensor.zlinky_tic_easf01
name: Monthly Energy HC
cycle: monthly
tariffs:
- hc
# Yearly energy heure pleine
yearly_energy_easf02:
source: sensor.zlinky_tic_east02
name: Yearly Energy HP
cycle: yearly
tariffs:
- hp
# Yearly energy heure creuse
yearly_energy_easf01:
source: sensor.zlinky_tic_east01
name: Yearly Energy HC
cycle: yearly
tariffs:
- hc
On peut ce rendre comte que la consommation hebdomadaire et annuelle n’est pas du tout cohérente; je ne comprends pas pourquoi et comment je peux résoudre ça,
Merci pour retours,
Au plaisir, bonne soirée,
*
Ma configuration
System Information
version
core-2023.10.1
installation_type
Home Assistant OS
dev
false
hassio
true
docker
true
user
root
virtualenv
false
python_version
3.11.5
os_name
Linux
os_version
6.1.45
arch
x86_64
timezone
Europe/Paris
config_dir
/config
Home Assistant Community Store
GitHub API
ok
GitHub Content
ok
GitHub Web
ok
GitHub API Calls Remaining
4996
Installed Version
1.33.0
Stage
running
Available Repositories
1306
Downloaded Repositories
14
Home Assistant Cloud
logged_in
false
can_reach_cert_server
ok
can_reach_cloud_auth
ok
can_reach_cloud
ok
Home Assistant Supervisor
host_os
Home Assistant OS 10.5
update_channel
stable
supervisor_version
supervisor-2023.10.0
agent_version
1.5.1
docker_version
23.0.6
disk_total
30.8 GB
disk_used
6.9 GB
healthy
true
supported
true
board
ova
supervisor_api
ok
version_api
ok
installed_addons
Terminal & SSH (9.7.1), Studio Code Server (5.11.0)
Bonjour,
moi j’additionne les indexes HP + HC et fait un utility_meter avec le tarif hp et hc.
le template sensor:
- name: zlinky_metering_HC_HP_sum
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
state: >-
{% set HC = states('sensor.0x00158d0005d299cf_hchc')|float(default=0)*1000 %}
{% set HP = states('sensor.0x00158d0005d299cf_hchp')|float(default=0)*1000 %}
{{ HC + HP | int(default=0) }}
availability: "{{ states('sensor.0x00158d0005d299cf_hchc')|is_number and states('sensor.0x00158d0005d299cf_hchp')|is_number }}"
l’utility_meter:
energie_quotidienne_home:
source: sensor.zlinky_metering_hc_hp_sum
cycle: daily
tariffs:
- hp
- hc
l’automatisation pour changer de tarif:
alias: Energie Maison Tarif
description: ""
trigger:
- platform: time
at: "04:56:00"
variables:
tariff: hp
- platform: time
at: "20:56:00"
variables:
tariff: hc
condition: []
action:
- service: select.select_option
target:
entity_id:
- select.energie_quotidienne_home
data:
option: "{{ tariff }}"
mode: single
et l’addition des hp +hc de l’utility_meter, le template sensor:
- name: 'Energie home jour consommée'
unique_id: energy_home_total_daily
unit_of_measurement: "Wh"
state: "{{ (states('sensor.energie_quotidienne_home_hp')|float(0) + states('sensor.energie_quotidienne_home_hc')|float(0)) |round(2) }}"
availability: "{{ states('sensor.energie_quotidienne_home_hp')|is_number and states('sensor.energie_quotidienne_home_hc')|is_number }}"
Conseille, utilise dans t’es template l’option availability: pour eviter des erreurs de calcul quand tu fait un reboot.
Quelle est la fonction/utilitée de l’option availability en règle générale ?
Dans ton automatisation concernant la partie trigger, pourquoi tu n’utilises pas le current_price pour passer du tarif heure pleine au tarif heure creuse automatiquement ?
Est-ce que tu vois une/des erreur(s) dans ce que j’ai fait ? Je viens de me rendre compte en te lisant, que je n’ai pas créé d’automatisation pour le changement de tarification,
Car je découper les HP et HC, les trigger déclenche le changement de tarif suivant l’heure.
après je fais le calcul du prix avec un template sensor
- name: 'Energie home jour € hp+hc'
unique_id: energy_home_cout_daily
unit_of_measurement: "€"
state: "{{ (((states('sensor.energie_quotidienne_home_hp')|float(0))*states('input_number.prix_hp')|float(0)) + ((states('sensor.energie_quotidienne_home_hc')|float(0))*states('input_number.prix_hc')|float(0))) /1000 |round(3) }}"
availability: "{{ states('sensor.energie_quotidienne_home_hp')|is_number and states('sensor.energie_quotidienne_home_hc')|is_number and states('input_number.prix_hp')|is_number and states('input_number.prix_hc')|is_number }}"
j’ai deux input_number pour les tarifs input_number.prix_hpet input_number.prix_hc.
si je regarde ta config, vu que tu utilise l’index hp et hc source je vois pas l’intérêt d’utiliser l’option tarif. le calcul tu le fais d’un Template.
Comme je t’es dit dans mon message précèdent, j’ai additionner mes HP et HC. J’ai une seule entité qui sera gérer par utility_meter pour découper les hp et hc avec leur tarif respectif. Dans ce cas faut faire une automatisation pour dire quand change le tarif.
Pas de problème, tu ne pourris pas mon post du tout,
J’ai seulement créé mon fichier input_number.yaml puis renseigné mes données,
Une fois enregistré puis avoir redémarré mon HomeAssistant, j’ai ajouté ce type de carte:
Si t’as besoin d’autres renseignements, tu sais où me trouver
Voici un exemple de mon fichier input_number.yaml:
Tu peux remarquer qu’il y a un plusieurs informations en-dessous de l’entité: name, initial, min, max, step, mode, icon et unit of measurement,
De souvenir, c’est grâce à mode: box que j’ai un tel affichage sur mon Dashboard,