[Tuto] Home assistant et MsunPV

Plus d'informations
06 Aoû 2024 17:56 - 06 Aoû 2024 17:59 #286 par netstf
Réponse de netstf sur le sujet [Tuto] Home assistant et MsunPV
Non , je n'ai aucun Energie_msun
Pièces jointes :
Dernière édition: 06 Aoû 2024 17:59 par netstf.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
06 Aoû 2024 18:05 #287 par Tochy
Réponse de Tochy sur le sujet [Tuto] Home assistant et MsunPV
Bah il va falloir les rajouter.

Ce qui est bizarre c'est que si tu as pris l'intégration sur le github tu devrais les avoir.
####### Sensors pour le dashboard energie. J'aurai très bien pu modifier directement les compteurs
####### mais j'ai fait le choix de créer de nouveaux sensors pour garder les compteurs tels qu'ils etaient à la base c'est à dire en négatif sur ma configuration.
      - name: "energie_msunpv_enconso" #Consommation journalière
        unique_id: "energie_msunpv_enconso"
        icon: mdi:counter
        state: "{{ (states('sensor.msunpv_enconso')|float /1000) }}"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing

      - name: "energie_msunpv_enpv_j" #Production panneaux journalière
        unique_id: "energie_msunpv_enpv_j"
        icon: mdi:counter
        state: "{{ 0 if (states('sensor.msunpv_enpv_j')|float /1000) == 0 else (states('sensor.msunpv_enpv_j')|float /1000 *-1) }}"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing

      - name: "energie_msunpv_eninj" #Production injectée journalière
        unique_id: "energie_msunpv_eninj"
        icon: mdi:counter
        state: "{{ 0 if (states('sensor.msunpv_eninj')|float /1000) == 0 else (states('sensor.msunpv_eninj')|float /1000 *-1) }}"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
06 Aoû 2024 19:15 #288 par netstf
Réponse de netstf sur le sujet [Tuto] Home assistant et MsunPV
Je viens de supprimer et refaire la procédure complète du Github .

Parfait ca fonctionne :)
Encore merci pour l'intégration

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
10 Aoû 2024 08:35 #289 par Defaliz
Réponse de Defaliz sur le sujet [Tuto] Home assistant et MsunPV
Bonjour Tochy,
J'utilise ton intégration depuis plusieurs mois avec succès...
J'ai intégré hier le yaml de la programmation horaire...
A quoi correspond ballon_timer1 a 4 ?
Dans le cas d'un msun 2x2...
Actuellement je n'ai aucune remontée mais N/A...
Rien de remarquable dans les logs...
Merci pour l'aide ..

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
30 Aoû 2024 12:53 - 30 Aoû 2024 13:12 #290 par Tochy
Réponse de Tochy sur le sujet [Tuto] Home assistant et MsunPV
@Festayros

Peux tu me poster ici ces 4 infos.
Quelle version du msunpv utilises tu 2_2 ou 4_4 et avec combien de pinces ?

Page web du routeur


Contenu du fichier index.xml


Contenu du fichier status.xml
Pièces jointes :
Dernière édition: 30 Aoû 2024 13:12 par Tochy.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
30 Aoû 2024 19:09 - 30 Aoû 2024 19:18 #291 par Festayros
Réponse de Festayros sur le sujet [Tuto] Home assistant et MsunPV
Version 2_2 avec 2 pinces , 1 qui mesure la puissance du cumulus et l'autre a l'entrée.

je voudrais rajouter dans home assistant une jauge pour le pourcentage de chauffe de mon cumulus durant la journée (cumulus de 200l) avec temperature environ 55°) en sachant que la puissance est variable. Cette jauge devras être réinitialisé a minuit chaque jour. si input_boolean.cumulus_chaud est "on" alors la jauge doit être a 100% . sensor.energie_msunpv_powbal est la mesure de la puissance envoyé dans le cumulus.
Je ne comprends pas pourquoi la jauge ne fonctionne pas.
Je debute dans home assistant donc je pense qu'il y a des bugs

Automatisation.YAML
# automations.yaml

- alias: "Mettre à jour cumulus_chaud"
  trigger:
    - platform: state
      entity_id:
        - sensor.energie_msunpv_pow_reso
        - sensor.energie_msunpv_powbal
      for: "00:00:15"
  condition:
    condition: and
    conditions:
      - condition: numeric_state
        entity_id: sensor.energie_msunpv_pow_reso
        below: -100
      - condition: numeric_state
        entity_id: sensor.energie_msunpv_powbal
        below: 20
  action:
    - service: input_boolean.turn_on
      entity_id: input_boolean.cumulus_chaud

- alias: "Remettre cumulus_chaud à zéro à minuit"
  trigger:
    - platform: time
      at: "00:00:00"
  action:
    - service: input_boolean.turn_off
      entity_id: input_boolean.cumulus_chaud






- alias: 'Réinitialiser énergie quotidienne du cumulus'
  trigger:
      - platform: time
        at: '00:10:00'
  action:
      - service: input_number.set_value
        data:
          entity_id: input_number.cumulus_energy_daily
          value: 0
          
- alias: 'Mettre à jour énergie quotidienne du cumulus'
  trigger:
      - platform: state
        entity_id: sensor.energy_cumulus
  action:
      - service: input_number.set_value
        data_template:
          entity_id: input_number.cumulus_energy_daily
          value: >
            {% set energie_precedente = states('input_number.cumulus_energy_daily') | float %}
            {% set energie_actuelle = states('sensor.energy_cumulus') | float %}
            {% set energie_a_ajouter = energie_actuelle - energie_precedente %}
            {{ energie_a_ajouter | max(0) }}
            
- alias: 'Calcul du pourcentage de chauffe du cumulus'
  trigger:
      - platform: state
        entity_id: sensor.energy_cumulus
  action:
      - service: input_number.set_value
        data_template:
          entity_id: input_number.cumulus_chauffe
          value: >
            {% if is_state('input_boolean.cumulus_chaud', 'on') %}
              100
            {% else %}
              {% set energie = states('input_number.cumulus_energy_daily') | float %}
              {% set energie_totale = 8.14 %}  # Ajustez selon l'énergie nécessaire pour chauffer le cumulus à 55°C
              {% set pourcentage = (energie / energie_totale) * 100 %}
              {{ [pourcentage, 100] | min }}
            {% endif %}

Fichier configuration.YAML
# 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

homeassistant:
  packages: !include_dir_named packages
 
 #test mise a 0 energy_cumulus pour jauge a 0
utility_meter:
  energy_cumulus:
    source: sensor.energie_msunpv_powbal
    cycle: daily
 
  
#info cumulus chaud    
input_boolean:
  cumulus_chaud:
    name: Cumulus Chaud
    initial: off
    icon: mdi:water-boiler
    
sensor:

#info voyant pour lancer machines        
  - platform: template
    sensors:
      energie_msunpv_voyant_info_machines:
        friendly_name: "info machines"
        unit_of_measurement: "W"  # ou l'unité que vous utilisez
        value_template: >
          {% set pow_reso = states('sensor.energie_msunpv_pow_reso') | float %}
          {% set pow_bal = states('sensor.energie_msunpv_powbal') | float %}
          
          {% if pow_reso > 0 and pow_bal > 0 %}
            {{ pow_reso + pow_bal }}
          {% elif pow_reso < 0 and pow_bal > 0 %}
            {{ -(pow_reso | abs + pow_bal) }}
          {% else %}
            0  # ou une autre valeur par défaut selon vos besoins
          {% endif %}

  - platform: template
    sensors:
      energie_msunpv_enconso_cout:
        friendly_name: "Importé Calculé"
        value_template: "{{ ((states('sensor.energie_msunpv_enconso')|float * 0.27) + 0.54)|round(2) }}"
        unit_of_measurement: '€'  # Adaptez cette unité selon vos besoins
        







  - platform: integration
    source: sensor.energie_msunpv_powbal
    name: energy_cumulus
    unit_prefix: k
    round: 2
    method: trapezoidal
    
 
        
input_number:
  cumulus_energy_daily:
    name: Energie quotidienne du cumulus
    min: 0
    max: 100
    step: 0.01
    unit_of_measurement: 'kWh'

  cumulus_chauffe:
    name: Pourcentage de chauffe du cumulus
    min: 0
    max: 100
    step: 0.1
    unit_of_measurement: '%'

La jauge
type: gauge
entity: input_number.cumulus_chauffe
min: 0
max: 100
name: Chauffe du Cumulus
unit: '%'
severity:
  green: 0
  yellow: 50
  red: 75
layout_options:
  grid_columns: 2
  grid_rows: auto
Pièces jointes :
Dernière édition: 30 Aoû 2024 19:18 par Festayros.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
30 Aoû 2024 19:31 #292 par Tochy
Réponse de Tochy sur le sujet [Tuto] Home assistant et MsunPV
C'est bien ce qu'il me semblait, tu as déjà un compteur qui a le cumul journalier de ce qui est envoyé à ton cumulus et qui se remet tout seul a zéro a minuit je pense.
Donc toute la partie pour comptabiliser ce qui va au cumulus est inutile ainsi que la remise à zéro du cumul.
Il suffit de rajouter ce compteur EnRBal dans l'intégration si ce n'est pas déjà le cas et ensuite de ce servir de la valeur de ce compteur et de la conso estimée du cumulus (8.14 kWh dans ton exemple) pour être chaud pour faire la jauge.

Merci d'avoir rajouter le code pour plus de clarté. Je vais faire un essai avec ce que je t'ai indiqué ci-dessus.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
30 Aoû 2024 20:48 - 30 Aoû 2024 21:28 #293 par Tochy
Réponse de Tochy sur le sujet [Tuto] Home assistant et MsunPV
Donc en me basant sur tes données.

Tu modifies la partie compteurs de ton ton fichier msunpv_2_2.yaml pour passer de ça :
####### Les compteurs
      - name: msunpv_enconso #Consommation réseau journalière
        unique_id: "msunpv_enconso"
        icon: mdi:transmission-tower-export
        state: >-
          {% set cptVals =state_attr('sensor.msunpv_xml', 'cptVals')|replace(" ","") %}
          {{ cptVals.split(";")[0]|int(base=16)/10 |float }}
        unit_of_measurement: "Wh"
        device_class: energy

      - name: msunpv_eninj #Production injectée journalière
        unique_id: "msunpv_eninj"
        icon: mdi:transmission-tower-import
        state: >-
          {% set cptVals =state_attr('sensor.msunpv_xml', 'cptVals')|replace(" ","") %}
          {{ (0 if cptVals.split(";")[1]|int(base=16)|int == 0 else ((0xFFFFFFFF - cptVals.split(";")[1]|int(base=16)) * -1)/10) |float }}
        unit_of_measurement: "Wh"
        device_class: energy

      - name: msunpv_enpv_j #Production panneaux journalière
        unique_id: "msunpv_enpv_j"
        icon: mdi:solar-power-variant-outline
        state: >-
          {% set cptVals =state_attr('sensor.msunpv_xml', 'cptVals')|replace(" ","") %}
          {{ (0 if cptVals.split(";")[2]|int(base=16)|int == 0 else ((0xFFFFFFFF - cptVals.split(";")[2]|int(base=16)) * -1)/10) |float }}
        unit_of_measurement: "Wh"
        device_class: energy

      - name: msunpv_enpv_p #Production panneaux totale
        unique_id: "msunpv_enpv_p"
        icon: mdi:solar-power-variant-outline
        state: >-
          {% set cptVals =state_attr('sensor.msunpv_xml', 'cptVals')|replace(" ","") %}
          {{ (0 if cptVals.split(";")[3]|int(base=16)|int == 0 else ((0xFFFFFFFF - cptVals.split(";")[3]|int(base=16)) * -1)/10) |float }}
        unit_of_measurement: "Wh"
        device_class: energy

A ça :
####### Les compteurs
      - name: msunpv_enconso #Consommation réseau journalière
        unique_id: "msunpv_enconso"
        icon: mdi:transmission-tower-export
        state: >-
          {% set cptVals =state_attr('sensor.msunpv_xml', 'cptVals')|replace(" ","") %}
          {{ cptVals.split(";")[0]|int(base=16)/10 |float }}
        unit_of_measurement: "Wh"
        device_class: energy

      - name: msunpv_eninj #Production injectée journalière
        unique_id: "msunpv_eninj"
        icon: mdi:transmission-tower-import
        state: >-
          {% set cptVals =state_attr('sensor.msunpv_xml', 'cptVals')|replace(" ","") %}
          {{ (0 if cptVals.split(";")[1]|int(base=16)|int == 0 else ((0xFFFFFFFF - cptVals.split(";")[1]|int(base=16)) * -1)/10) |float }}
        unit_of_measurement: "Wh"
        device_class: energy

      - name: msunpv_enrbal #Production injectée cumulus journalière
        unique_id: "msunpv_enrbal"
        icon: mdi:water-boiler
        state: >-
          {% set cptVals =state_attr('sensor.msunpv_xml', 'cptVals')|replace(" ","") %}
          {{ cptVals.split(";")[2]|int(base=16)/10 |float }}
        unit_of_measurement: "Wh"
        device_class: energy

Tu redémarres HA et tu devrais maintenant avoir un nouveau sensor nommé msunpv_enrbal qui contiendra en Wh l'energie envoyée vers le cumulus dans la journée.
Dernière édition: 30 Aoû 2024 21:28 par Tochy.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
30 Aoû 2024 20:59 - 30 Aoû 2024 23:38 #294 par Tochy
Réponse de Tochy sur le sujet [Tuto] Home assistant et MsunPV
Ensuite tu crées un fichier appeler msunpv_detection_fin_chauffe.yaml dans le dossier packages/msunpv de ton HA

Tu colles dans ce fichier le code suivant :
####### Les sensors
template:
  - sensor:
      - name: cumulus_chaud_percent # La valeur de 8140 dans la partie state peut être ajustée selon l'énergie nécessaire pour chauffer le cumulus à 55°C
        unique_id: "cumulus_chaud_percent"
        state: >-
          {% if is_state('input_boolean.cumulus_chaud', 'on') %}
            100
          {% else %}
            {% set energie = states('sensor.msunpv_enrbal') | float %}
            {% set energie_totale = 8140 %}
            {% set pourcentage = (energie / energie_totale) * 100 %}
            {{ pourcentage | round(2) }}
          {% endif %}

input_boolean:
  cumulus_chaud:
    name: Cumulus chaud
    icon: mdi:water-boiler

input_text:
  last_chauffe_solaire_cumulus:
    name: Cumulus - Dernière chauffe solaire


####### Les automatisations
automation:
  - id: 'msunpv_cumulus_chaud'
    alias: Mettre à jour cumulus_chaud
    description: ""
    trigger:
      - platform: template
        value_template: >-
          {{ states('sensor.msunpv_pow_reso')|float(0) < 100 and
          states('sensor.msunpv_powbal')|float(0) < 20 }}
        for:
          hours: 0
          minutes: 2
          seconds: 0
    condition: []
    action:
      - target:
          entity_id:
            - input_boolean.cumulus_chaud
        data: {}
        action: input_boolean.turn_off
      - data: {}
        target:
          entity_id: input_boolean.cumulus_chaud
        action: input_boolean.turn_on
      - data:
          value: "{{ (as_local(states.input_boolean.cumulus_chaud.last_changed)) }}"
        target:
          entity_id: input_text.last_chauffe_solaire_cumulus
        action: input_text.set_value
    mode: single

  - id: 'msunpv_reset_cumulus_chaud'
    alias: Remettre cumulus_chaud à zéro à minuit
    trigger:
      - platform: time
        at: "00:00:00"
    action:
      - service: input_boolean.turn_off
        entity_id: input_boolean.cumulus_chaud

Tu supprimes (ou commentes) dans ton fichier config les lignes :
 #test mise a 0 energy_cumulus pour jauge a 0
utility_meter:
  energy_cumulus:
    source: sensor.energie_msunpv_powbal
    cycle: daily
 
  
#info cumulus chaud    
input_boolean:
  cumulus_chaud:
    name: Cumulus Chaud
    initial: off
    icon: mdi:water-boiler

Ainsi que :
  - platform: integration
    source: sensor.energie_msunpv_powbal
    name: energy_cumulus
    unit_prefix: k
    round: 2
    method: trapezoidal
    
 
        
input_number:
  cumulus_energy_daily:
    name: Energie quotidienne du cumulus
    min: 0
    max: 100
    step: 0.01
    unit_of_measurement: 'kWh'

  cumulus_chauffe:
    name: Pourcentage de chauffe du cumulus
    min: 0
    max: 100
    step: 0.1
    unit_of_measurement: '%'

Tu supprimes également tes 3 automatisations qui ne serviront plus.

Tu redémarres encore une fois HA
Dernière édition: 30 Aoû 2024 23:38 par Tochy.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
30 Aoû 2024 21:03 #295 par Tochy
Réponse de Tochy sur le sujet [Tuto] Home assistant et MsunPV
Et pour finir

Tu remplace ta carte jauge par :
type: gauge
entity: sensor.cumulus_chaud_percent
min: 0
max: 100
name: Chauffe du Cumulus
unit: '%'
severity:
  green: 0
  yellow: 50
  red: 75
layout_options:
  grid_columns: 2
  grid_rows: auto    

Cela devrait correspondre plus ou moins à ce que tu voulais faire. Je dis plus ou moins car je ne suis pas en mesure de tester n'utilisant pas la même config.
Il se peut qu'il y ai quelques ajustement à faire mais tu me diras ça.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
30 Aoû 2024 22:18 - 30 Aoû 2024 22:18 #296 par Festayros
Réponse de Festayros sur le sujet [Tuto] Home assistant et MsunPV
Merci tochy pour le boulot
il y a une erreur sur la jauge sur entity: sensor.cumulus_chaud_percent
Dernière édition: 30 Aoû 2024 22:18 par Festayros.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
30 Aoû 2024 22:22 - 30 Aoû 2024 22:32 #297 par Tochy
Réponse de Tochy sur le sujet [Tuto] Home assistant et MsunPV
C'est à dire parce que je peux pas deviner :silly:

Je crois que j'ai compris, je verifie

Reprends cette partie j'avais oublié une partie du code dans le fichier à créer:
ard-tek.com/index.php/forum/vos-installa...unpv?start=285#20299
Dernière édition: 30 Aoû 2024 22:32 par Tochy.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
30 Aoû 2024 22:28 #298 par Festayros
Réponse de Festayros sur le sujet [Tuto] Home assistant et MsunPV
oups desole entite non disponible

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
30 Aoû 2024 22:31 - 30 Aoû 2024 22:33 #299 par Tochy
Réponse de Tochy sur le sujet [Tuto] Home assistant et MsunPV
Regarde mon message juste au dessus et n'oublie pas un redémarrage après modifications
Dernière édition: 30 Aoû 2024 22:33 par Tochy.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
30 Aoû 2024 22:43 #300 par Festayros
Réponse de Festayros sur le sujet [Tuto] Home assistant et MsunPV
pareil entite non disponible : sensor.cumulus_chaud_percent

Connexion ou Créer un compte pour participer à la conversation.

Propulsé par Kunena