Panneaux Solaire Enphase Envoy

Bonjours a tous,

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.

image

d’où peux venir le problème?

Salut,

avant de faire ces calculs, as tu bien les valeurs de production et de consommation qui remontent dans HA?

Ces entités ont des valeurs?
sensor.pv_envoy_current_energy_production
sensor.pv_envoy_current_energy_consumption

Bonjour

Si tu as la dernière version de l’intégration les sensors de prod’ et conso actuelles sont :

  • sensor.envoy_123456789101_consommation_d_electricite_actuelle
  • sensor.envoy_123456789101_production_d_electricite_actuelle

Comme le dit @AlexHass tes valeurs qui remontent sont avec les sensors en anglais ou en français ?

Bonjour,

bien vu, ca marche impeccable maintenant.
j’ai du oublié de modifier ces valeurs sur cette essais parmi tous ceux que j’ai réalisé.

Merci à vous

cdt

1 « J'aime »

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 :

image

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:

Je viens de passer 2 jours et je ne trouve pas ou est mon erreur.
Ma version est Home Assistant 2023.10.5.
Merci par avance de votre aide

eHlo,

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

Hello
heu… 1KW = 1000W donc normal que si tes datas sont en Kw il faille *1000 pour avoir la correspondance en W ^^;-)

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 ?

image

2/ Est-il possible de créer le compteur temps sans le binary_sensor ?
Voir mon code mais ça ne fonctionne pas…

image

# 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() }}"

Bon ben j’ai fini par créer mon taux d’utilisation journalier
c’est bizarre que la carte ne me le calcul pas en auto, par son code interne.

image

# Creation Taux Utilisatin Jour -> Use
      - name: taux Utilisation
        state: "{{ ((1-(states('sensor.energie_exportee_jour')|float) / states('sensor.envoy_production_energie_jour')|float)*100) | round(1) }}"
        unit_of_measurement: '%'

Bonjour,

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?

Ce n’est pas sur l’état que tu doit faire ta condition mais sur la valeur numérique

Salut,

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 :smiley:

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.

Bonjour à tous.

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).

Merci.

bonjour,
essaye de supprimer sensor: avant chaque - platform

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.

Je comprend pas.


Ha 2

Bonjour
Comme tu es daje dans le fichier sensors.yaml, il ne fait pas ajouter le mot sensor, mais directement

- plateform: integration
source.....

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

Salut,

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.

1 « J'aime »