cela fait plusieurs jour que je me tord la tête à essayer d’intégrer ma solution Enphase à HA suivant tout les tutos que j’ai parcouru.
je suis perdu dans le langage qui n’est pas identique suivant les tutos.
j’ai intégré ca dans mon fichier configuration.yaml
########Gestion exportation panneau solaire
# calcul power export
template:
#calcul power export
- sensor:
- name: energy_exporting
state_class: measurement
icon: 'mdi:flash'
unit_of_measurement: 'W'
device_class: power
state: >
{{ [0, (states('sensor.pv_envoy_current_energy_production') | int - states('sensor.pv_envoy_current_energy_consumption') | int)] | max }}
# calcul power import
- sensor:
- name: energy_importing
state_class: measurement
icon: 'mdi:flash'
unit_of_measurement: 'W'
device_class: power
state: >
{{ [0, (states('sensor.pv_envoy_current_energy_consumption') | int - states('sensor.pv_envoy_current_energy_production') | int)] | max }}
# Création de l'énergie exportée sur le réseau en Wh
sensor:
- platform: integration
source: sensor.energy_exporting
name: energy_exported_wh
unit_prefix: k
unit_time : h
method: left
# Création de l'énergie importée du réseau en Wh
- platform: integration
source: sensor.energy_importing
name: energy_imported_wh
unit_prefix: k
unit_time : h
method: left
# Utility Meters pour historisation
utility_meter:
daily_energy_import:
source: sensor.energy_imported_wh
cycle: daily
daily_energy_export:
source: sensor.energy_exported_wh
cycle: daily
cela me créé bien les capteurs, mais aucune information ne remonte.
Bonjour,
Je souhaite intégrer la solution Enphase dans mon HA.
J’ai réussi à intégrer enphase il me remonte les valeurs.
Je voulais commencer par faire le monitoring version Live en Watt. j’ai mis en place power-distribution-card.
Ca fonctionne mais j’ai toujours la valeur 0 dans les calculs de la puissance exportée et importée.
Ci dessous la config de ma carte :
type: custom:power-distribution-card
title: Power Home Live
entities:
- decimals: '0'
display_abs: true
name: solar
unit_of_display: W
icon: mdi:solar-power
producer: true
entity: sensor.envoy_1222xxxxxxx_production_d_electricite_actuelle
preset: solar
icon_color:
bigger: green
equal: gray
smaller: red
- decimals: '0'
display_abs: true
name: Export
unit_of_display: W
icon: mdi:lightning-bolt-outline
producer: true
entity: sensor.energy_exporting
preset: producer
icon_color:
bigger: green
equal: gray
smaller: red
calc_excluded: true
- decimals: '0'
display_abs: true
name: conso
unit_of_display: W
consumer: true
icon: mdi:home
entity: sensor.envoy_1222xxxxxxxx_consommation_d_electricite_actuelle
preset: consumer
icon_color:
bigger: red
equal: green
smaller: red
invert_value: true
- decimals: '0'
display_abs: true
name: Import
unit_of_display: W
icon: mdi:transmission-tower
entity: sensor.energy_importing
preset: grid
icon_color:
bigger: red
equal: gray
smaller: red
invert_value: true
center:
type: bars
content:
- preset: ratio
name: use
bar_color: green
bar_bg_color: ''
entity: ''
invert_value: false
- preset: autarky
name: indep
bar_color: blue
animation: flash
et j’obtiens ceci :
Concernant les sensors export et import, j’ai crée un sensors.yaml ci dessous :
# calcul power export
- platform: template
sensors:
energy_exporting:
friendly_name: "Current Energy Exporting"
value_template: "{{ [0, (states('sensor.envoy_122233026058_production_d_electricite_actuelle') | int - states('sensor.envoy_122233026058_consommation_d_electricite_actuelle') | int)] | max }}"
unit_of_measurement: "W"
icon_template: "mdi:flash"
# calcul power import
- platform: template
sensors:
energy_importing:
friendly_name: "Current Energy Importing"
value_template: "{{ [0, (states('sensor.envoy_122233026058_consommation_d_electricite_actuelle') | int - states('sensor.envoy_122233026058_production_d_electricite_actuelle') | int)] | max }}"
unit_of_measurement: "W"
icon_template: "mdi:flash"
Et dans le fichier de configuration.yaml j’ai ceci :
# Loads default set of integrations. Do not remove.
default_config:
# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor: !include sensors.yaml
Quand je test les sensors la valeur de « value_template » retourne 0 alors que l’entité sensor.envoy_1222XXXXXX_production_d_electricite_actuelle me retourne bien une valeur dans l’état.
Ci dessous l’état des sensors:
As tu essayé de mettre cette ligne dans les outils de dev afin de voire le résultat ? je soupçonne un soucis de ce coté là car si je ne me trompe pas [0, … force une valeur par défaut si pb avec le reste de la formule. BTW un INT peut-être négatif ?!? check en mettant float à la place
Hello, Merci pour l’info le fait de passer en float ça fonctionne. Par contre j’ai du rajouter un x1000 à la formule pour avoir des watt, étrange car les informations venant de enphase sont en kW
Bonjour,
merci pour tous ces conseils. J’ai réussi a mettre ces cartes et c’est top.
J’ai 2 points qui ne fonctionnent pas comme j’imagine
1/ la valeur USE dans la carte Énergie Jour qui reste à 100%, même si j’ai de l’Export.
idem pour Indep, qui était toujours à 0, mais j’ai pu forcer dans la carte pour qu’il prenne le sensor.taux_indépendance_energetique
Avez vous dû créer un sensor USE_jour ?
2/ Est-il possible de créer le compteur temps sans le binary_sensor ?
Voir mon code mais ça ne fonctionne pas…
# history demarrage panneaux solaire
- platform: history_stats
name: Solar ON today
entity_id: sensor.envoy_production_electricite_actuelle
state: "{{ states('sensor.envoy_production_electricite_actuelle')|float >= 25}}"
type: time
start: "{{ now().replace(hour=0, minute=0, second=0) }}"
end: "{{ now() }}"
pour réaliser une automatisation en cas de surplus d’énergie, j’ai créé un petit scénario.
je suis bloqué sur ma condition qui est fonctionnel sur une valeur fixe.
Mais je dois surveiller un seuil et je ne maitrise pas la syntaxe
quelle valeur dois je indiquer dans « l’état » pour l’action si <1kwh?
On va pas se le cacher, c’est assez compliqué d’arriver à quelque chose de fonctionnel de cette façon là.
Pour commencer tu ne peux pas utiliser ce genre de syntaxe. Là tu utilises un déclencheur de type « state »… il faudrait plutôt utilier « numeric state » qui lui te permet de mettre un seuil inférieur ou supérieur.
Il faut aussi se souvenir qu’un déclencheur ne va s’activer qu’au moment où la condition est remplie, dans ton cas, au moment où la valeur passe sous les 1kWh, et ne se re déclenchera pas tant que la valeur reste sous les 1kWh.
Merci
Tochy, j’ai essayé de croiser suivant ton info sans y arriver
Alexhass j’ai essayé en Yaml mais la, j’ai rien compris
du coup, j’ai réussis comme ca:
ca fonctionne impeccable, ca me permet d’inhiber les quelques W enregistré en export alors qu’il n’y a pas vraiment d’export.
du coup, je lance une mise en marche forcé du ballon d’eau uniquement si pas d’export d’énergie. je considère que si pas d’export, l’eau n’est pas totalement chaude.
Je cherche également à calculer mes exportations et importations.
Je galère un peu dans les codes yaml. Est ce quelqu’un pourrait me corriger mon code.
########Gestion exportation panneau solaire
# calcul power export
template:
#calcul power export
- sensor:
- name: energy_exporting
state_class: measurement
icon: 'mdi:flash'
unit_of_measurement: 'W'
device_class: power
state: >
{{ [0, (states('sensor.envoy_122235026884_current_power_production') | int - states('sensor.envoy_122235026884_current_power_consumption') | int)] | max }}
# calcul power import
- sensor:
- name: energy_importing
state_class: measurement
icon: 'mdi:flash'
unit_of_measurement: 'W'
device_class: power
state: >
{{ [0, (states('sensor.envoy_122235026884_current_power_consumption') | int - states('sensor.envoy_122235026884_current_power_production') | int)] | max }}
# Création de l'énergie exportée sur le réseau en Wh
sensor:
- platform: integration
source: sensor.energy_exporting
name: energy_exported_wh
unit_prefix: k
unit_time : h
method: left
# Création de l'énergie importée du réseau en Wh
- platform: integration
source: sensor.energy_importing
name: energy_imported_wh
unit_prefix: k
unit_time : h
method: left
# Utility Meters pour historisation
utility_meter:
daily_energy_import:
source: sensor.energy_imported_wh
cycle: daily
daily_energy_export:
source: sensor.energy_exported_wh
cycle: daily
J’ai bien crée un fichier « sensors.yaml » et j’ai ajouté cette ligne dans le fichier config.
sensor: !include sensors.yaml
HA me dit que ma config est invalide :
Invalid config for [sensor]: required key not provided @ data[‹ platform ›]. Got None. (See /config/configuration.yaml, line 16).
Bonjour à tous. J’avais reussi à suivant ce tuto à configurer mes différents sensors.
Suite à un crash de ma config (et pas de sauvegarde) je recommence à nouveaux.
Et là je sèche complètement.
J’ai bien creer ma ligne : sensor: !include sensors.yaml dans mon fichier config.yaml.
J’ai bien creer mon dossier sensors.yaml à la racine de ma confid.
Et à l’interieur de ce dossier j’ai mis les lignes suivante.
#########Gestion exportation panneau solaire
# calcul power export
template:
#calcul power export
- sensor:
- name: energy_exporting
state_class: measurement
icon: 'mdi:flash'
unit_of_measurement: 'W'
device_class: power
state: >
{{ [0, (states('sensor.pv_envoy_122235026884_current_energy_production') | int - states('sensor.pv_envoy_122235026884_current_energy_consumption') | int)] | max }}
# calcul power import
- sensor:
- name: energy_importing
state_class: measurement
icon: 'mdi:flash'
unit_of_measurement: 'W'
device_class: power
state: >
{{ [0, (states('sensor.pv_envoy_122235026884_current_energy_consumption') | int - states('sensor.pv_envoy_122235026884_current_energy_production') | int)] | max }}
# Création de l'énergie exportée sur le réseau en Wh
sensor:
- platform: integration
source: sensor.energy_exporting
name: energy_exported_wh
unit_prefix: k
unit_time : h
method: left
# Création de l'énergie importée du réseau en Wh
- platform: integration
source: sensor.energy_importing
name: energy_imported_wh
unit_prefix: k
unit_time : h
method: left
# Utility Meters pour historisation
utility_meter:
daily_energy_import:
source: sensor.energy_imported_wh
cycle: daily
daily_energy_export:
source: sensor.energy_exported_wh
cycle: daily
Et je me retrouve avec ce message d’erreur.
Invalid config for ‹ sensor › at configuration.yaml, line 12: required key ‹ platform › not provided
Integration error: platform - Integration ‹ platform › not found.
J’ai vire la ligne sensor. Arrange ma config. Dans File editor j’ai plus de souci.
En revanche en vérifiant ma config j’ai ce message d’erreur.
Invalid config for ‹ sensor › at sensors.yaml, line 28: required key ‹ platform › not provided
Invalid config for ‹ sensor › at sensors.yaml, line 37: required key ‹ platform › not provided
Invalid config for ‹ sensor › at sensors.yaml, line 61: required key ‹ platform › not provided
#########Gestion exportation panneau solaire
#calcul power export
- name: energy_exporting
state_class: measurement
icon: 'mdi:flash'
unit_of_measurement: 'W'
device_class: power
state: >
{{ [0, (states('sensor.pv_envoy_122235026884_current_energy_production') | int - states('sensor.pv_envoy_122235026884_current_energy_consumption') | int)] | max }}
# calcul power import
- name: energy_importing
state_class: measurement
icon: 'mdi:flash'
unit_of_measurement: 'W'
device_class: power
state: >
{{ [0, (states('sensor.pv_envoy_122235026884_current_energy_consumption') | int - states('sensor.pv_envoy_122235026884_current_energy_production') | int)] | max }}
# Création de l'énergie exportée sur le réseau en Wh
- platform: integration
source: sensor.energy_exporting
name: energy_exported_wh
unit_prefix: k
unit_time : h
method: left
# Création de l'énergie importée du réseau en Wh
- platform: integration
source: sensor.energy_importing
name: energy_imported_wh
unit_prefix: k
unit_time : h
method: left
# Utility Meters pour historisation
- utility_meter:
daily_energy_import:
source: sensor.energy_imported_wh
cycle: daily
daily_energy_export:
source: sensor.energy_exported_wh
cycle: daily
il faut ajouter le paramètre « platform: template » pour chaque entité qui ne l’a pas.
En alternative plus moderne, tu peux regarder cet article, la « Cas 1 » correspond à Enphase et il n’y a pas de yaml, tout se fait avec l’interface graphique.