Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Gerer la chauffe en fonction du soleil prevu via HA
#1
Exclamation 
Bonjour , me revoila avec une optimisation via HA 

Le but est de chauffer pendant la nuit en fonction du soleil prevu pour la journée et donc d'anticiper et ne pas avoir d'eau froide ! 
Dans le programme du routeur, c'est en fonction de la journée passée, donc cela ne me correspondait pas 

il faut recuperer le forecast de la journée
https://forum.hacf.fr/t/2023-9-forecast-...s/27766/34

Ensuite en resumé :

à 3h du matin , je verifie combien d'heure de soleil la journée entre 10h et 20h 
Et suivant le nombre d'heure , je ne chauffe pas ou 1 ou 2h 
Et petite notification à 7 h suivant ce qui a ete fait et la temperature du CE

Arrow  Temps de chauffe, heure d'ensolleilement et la plage horaire sont par rapport a mon installation, heure de production, vitesse de chauffe , .... 

Idea  Il peut y avoir des erreurs dans les previsions, donc vous pouvez chauffer  la nuit car il annonce 2h de soleil et en realité, il en a eu 5 mais ça, c'est le risque avec la météo .... (On peut modifier pour ajouté quand c'est partiellement ensolleillé par exemple) 


Notification : 
   


Code :
alias: Gestion routeur ensoleillement
description: ""
triggers:
  - at: "03:00:00"
    trigger: time
actions:
  - variables:
      sunny_conditions: >-
        {% set forecast =
        state_attr('sensor.weather_forecast_heure_landrethun_les_ardres',
        'forecast') %} {% set sunny_count = namespace(count=0) %} {% for hour in
        range(7, 16 + 1) %}
          {% set condition = forecast[hour].condition | lower %}
          {% if 'sunny' in condition %}
            {% set sunny_count.count = sunny_count.count + 1 %}
          {% endif %}
        {% endfor %} {{ sunny_count.count }}
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ sunny_conditions | int == 0 }}"
        sequence:
          - data:
              qos: "0"
              topic: Triac
              payload: "{\"tOnOff\":180}"
            action: mqtt.publish
      - conditions:
          - condition: template
            value_template: "{{ sunny_conditions | int >= 1 and sunny_conditions | int <= 2 }}"
        sequence:
          - data:
              qos: "0"
              topic: Triac
              payload: "{\"tOnOff\":120}"
            action: mqtt.publish
  - wait_template: "{{ is_state('sensor.time', '07:00') }}"
    continue_on_timeout: false
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ sunny_conditions | int < 2 }}"
        sequence:
          - data:
              message: >-
                ☁️ Pas de soleil prévu : {{ sunny_conditions }}h entre 10h et
                20h. Le chauffe-eau a fonctionné pendant 2h. Température
                actuelle du ballon : {{
                states('sensor.temperature_owon_ballon_temperature') }}°C
            action: notify.whatsapp_franck
          - data:
              message: >-
                ☁️ Pas de soleil prévu : {{ sunny_conditions }}h entre 10h et
                20h. Le chauffe-eau a fonctionné pendant 2h. Température
                actuelle du ballon : {{
                states('sensor.temperature_owon_ballon_temperature') }}°C
            action: notify.whatsapp_sandy
      - conditions:
          - condition: template
            value_template: "{{ sunny_conditions | int >= 2 and sunny_conditions | int <= 4 }}"
        sequence:
          - data:
              message: >-
                ?️ Peu de soleil prévu : {{ sunny_conditions }}h entre 10h et
                20h. Le chauffe-eau a fonctionné pendant 2h. Température
                actuelle du ballon : {{
                states('sensor.temperature_owon_ballon_temperature') }}°C
            action: notify.whatsapp_franck
          - data:
              message: >-
                ?️ Peu de soleil prévu : {{ sunny_conditions }}h entre 10h et
                20h. Le chauffe-eau a fonctionné pendant 2h. Température
                actuelle du ballon : {{
                states('sensor.temperature_owon_ballon_temperature') }}°C
            action: notify.whatsapp_sandy
      - conditions:
          - condition: template
            value_template: "{{ sunny_conditions | int > 4 }}"
        sequence:
          - data:
              message: >-
                ☀️ Soleil aujourd'hui : {{ sunny_conditions }}h entre 8h et 20h.
                Température actuelle du ballon : {{
                states('sensor.temperature_owon_ballon_temperature') }}°C
            action: notify.whatsapp_franck
          - data:
              message: >-
                ☀️ Soleil aujourd'hui : {{ sunny_conditions }}h entre 8h et 20h.
                Température actuelle du ballon : {{
                states('sensor.temperature_owon_ballon_temperature') }}°C
            action: notify.whatsapp_sandy
Répondre
#2
Bonjour,
j'ai essayé de mettre ça en place cette hiver. Je voulais conditionner la charge de mes batteries en fonction de la durée "prévue" du soleil le lendemain pour les jours rouge Tempo..
j'ai essayé de prendre l'info sur plusieurs site de météo.
J'utilise un tableur pour essayer de corréler les données et faire des modeles.
Apres un hiver, pour ma part, je dois dire que j'ai échoué. Pour moi il n'y a rien de prévisible !!!!
il est hyper frustrant de ne pas avoir de batterie après avoir eu une provision de journée ensoleillée et a l'inverse avoir chargé la batterie a bloc avoir du soleil et injecter a donf !!!!

pour ma part je vais plutôt m'orienter vers un plus gros stocke d'eau chaude et de batteries.
Répondre
#3
Hello. Perso j'ai écrit un petit script python qui cumule les indices UV sur la journée à venir (avec l'API REST d'Open-meteo). Je pense que c'est beaucoup plus pertinent que les heures de soleil, qu'il va falloir relativiser selon la saison et l'heure dans la journée (une journée "de soleil" de 8h à 9h en février n'apportera pas du tout la même énergie qu'une heure de Soleil de 12h à 13h en juillet). En plus, si l'info à propos du soleil est similaire à celle fournie par Open-meteo, tu as pas mal de nuances entre plein soleil et temps couvert. L'indice UV permet en principe une interprétation beaucoup plus simple et pertinente sans développer une usine à gaz.
Ceci dit, pour l'instant je me contente de stocker les infos dans une BDD via MQTT. Prochaine étape: remonter les infos de production des panneaux en MQTT pour alimenter aussi un BDD InfluxDB et ainsi Grafana (ou Home assistant), pour valider de façon plus formelle la corrélation entre les valeurs prédictives que je calcule et la production effective des PV. La 3e étape sera d'utiliser les résultats de ces expérimentations pour optimiser l'usage de l'électricité (solaire vs EDF) sans perte de confort.
Il est clair que les indices UV retournés par les sites de météo ne pourront pas prendre en compte les particularités de ton installation (pente, orientation, ombrages...), mais ça semble à première vue donner des résultats assez intéressants (disons suffisants pour mon usage en terme de prédictions).
En cas de besoin on peut aussi imaginer des scenarii de repli selon la couleur du jour (pour ceux qui sont en tempo). Si dans 5% des cas, on doit chauffer en HP bleues (moins de Soleil que prévu, ou plus d'invités à la maison qui prennent des douches), ce n'est pas bien grave: le prix des HC et HP en jours bleus sont assez proches.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)