Pilotage de l'autorisation de charge avec home assistant

bonjour.

je cherche a piloter l’autorisation de charge de la batterie avec home assistant en y créant une automatisation.

c’est pour éviter d’aller chaque fois dans le paramétrage de “charge programmé “

si vous avez des information ou un tutoreil,merci d’avance

Je ne sais pas ce que tu entends par autorisation de charge mais, de ce que je comprends, tu souhaites trouver une méthode pour automatiser la recharge de la batterie en dehors du mécanisme de charge programmée (scheduled charge).

En jouant avec d’autres paramètres, il est possible de forcer la recharge de la batterie.

En supposant que tu aies installé l’assistant ESS, si tu changes la limite active en la passant au-dessus de l’état de charge actuel, tu peux induire une recharge à condition que la nouvelle limite active soit de plus de 5% supérieure à la valeur actuelle ou qu’en même temps, tu forces l’état ESS à 8 (Optimized Mode /w BatteryLife: recharging, SoC dropped by 5% or more below the minimum SoC) ou à 12 (Optimized mode w/o BatteryLife: recharging, SoC dropped by 5% or more below minimum SoC).

Une autre alternative consiste à augmenter la consigne réseau (valeur positive) pour forcer la recharge de la batterie. Techniquement, ça me semble moins beau comme méthode mais ça fonctionne.

Finalement, il devrait être possible de commander ceci, y compris les charges planifiées, à distance par MQTT ou Modbus TCP mais je préfère l’emploi de Node-RED intégré au GX qui est capable de communiquer avec Home Assistant (ou autres) selon le protocole désiré.

Bref, ce ne sont pas les possibilités qui manquent. A toi de savoir quel mécanisme tu souhaites mettre ne œuvre.

bonjour et merci pour votre réponse. je découvre l’univers de victron ,j’étais avec emphase pour l’autoconsommation,j’ai mis des batterie pour stocker mon surplus de production car je suis sous contrat TEMPO et jour rouge me fond peur au niveau tarif.

donc aillant home assistant installer chez moi,je pensais passer par lui,mais nodered,j’ai regardé OUFFF c’est complexe!!!

C’est un installateur qui ma programmé le système,je n’ai fais que l’installation et le raccordement des cables.

voici les réponses au explication que vous m’avez donné:

Je ne sais pas ce que tu entends par autorisation de charge mais, de ce que je comprends, tu souhaites trouver une méthode pour automatiser la recharge de la batterie en dehors du mécanisme de charge programmée (scheduled charge). : OUI

En supposant que tu aies installé l’assistant ESS : OUI

la limite active en la passant au-dessus de l’état de charge actuel, tu peux induire une recharge à condition que la nouvelle limite active soit de plus de 5% supérieure à la valeur actuelle ou qu’en même temps,

tu forces l’état ESS à 8 (Optimized Mode /w BatteryLife: recharging, SoC dropped by 5% or more below the minimum SoC) ou à 12 (Optimized mode w/o BatteryLife: recharging, SoC dropped by 5% or more below minimum SoC).: je dois faire la modification ou et comment?

je préfère l’emploi de Node-RED intégré au GX qui est capable de communiquer avec Home Assistant : j’ai regardé NODE RED mais mes compétence ne me permettent pas d’y réaliser la programmation!!

En vous remerciant

(si je veux essayer de faire comme vous me dites,il me fraudais plus d’explication ,car j’ai beau chercher sur les forum ou autre,si je ne sait pas quoi chercher,je peux y passer du temps voir même faire des chose qui ne servent a rien!!)

Cordialement

Mr barbera

Bonjour,

Tu peux déjà connecter le cerbo à ton système HomeAssistant, voit ce que tu récupère comme infos et si ça te convient comme paramètres. (Pour moi c’est possible, mais je n’ai pas accès à ma plateforme de tests étant en vacances)

Ensuite on peut facilement faire une automatisation dans homeassistant, mais ça j’ai l’impression que tu connais le sujet.

bonjour

j’ai deja toutes les info sur home assistant,j’ai mis “victron mqtt integration,donc j’ai tout mon système qui remonte. j’en ai recépé des graph pour l’état de charge de batterie et de consommation.

Bonjour @barbera , oui c’est possible, mais pas super simple a mettre en place , …

Voici mon interface dans HA pour recharger via HA :

J’ai limiter les options/possibilités a juste a un besoin en particulier (je recharge c’est toujours entre 22h & 6h par exemple)

Sur un autre schedule, j’ai bien l’heure de début et le temps de charge mais c’est pas simple si tu veut faire ça bien :

  • dans le cerbo, l’heure de début et le temps de la charge sont des entier entre 0 et 86340 ( aka en secondes depuis 0h00)
  • et si tu veut ça, avec un bon visuel dans HA, il faut faire une entité en format datetime donc il faut faire une “conversion” :

Exemple de conf mqtt pour récupérer l’heure de démarrage du scheule n°2 :

  # Heure de demarrage, en seconde depuis minuit
  - name: "Schedule 2 Heure de démarrage"
    icon: mdi:clock-start
    unique_id: victron_Multiplus Battery Schedule 2 Heure de demarrage
    default_entity_id: victron_Multiplus Battery Schedule 2 Heure de demarrage
    min: 0
    max: 86340
    step: 60
    mode: slider
    command_topic: "venus-home/W/xxx/settings/0/Settings/CGwacs/BatteryLife/Schedule/Charge/1/Start"
    command_template: >
      {"value": {{ value }} }
    state_topic: "venus-home/N/xxx/settings/0/Settings/CGwacs/BatteryLife/Schedule/Charge/1/Start"
    value_template: >
      {{ value_json.value | round(0) }}
    unit_of_measurement: "s"
    device:
      {
        identifiers: ["Victron Victron Cerbo GX"],
        manufacturer: "Victron Energy",
        model: "Cerbo GX",
        name: "Cerbo GX",
      }

Puis, j’ai crée une entité datetime dans home assistant (via le GUI, c’est possible)

Puis, crée 2 automatisation pour mettre a jour l’un via l’autre et son inverse :

1/ mise a jour du schedule dans le cerbo via home assistant :

alias: >-
  Mise a jour de number.victron_multiplus_battery_schedule_2_heure_de_demarrage
  via input_datetime.cerbo_schedule_2_heure_de_demarrage
description: ""
triggers:
  - entity_id:
      - input_datetime.cerbo_schedule_2_heure_de_demarrage
    trigger: state
conditions:
  - condition: template
    value_template: >-
      {{ now() - state_attr('automation.mise_a_jour_de_schedule_2_heure_de_demarrage_via_number_du_cerbo', 'last_triggered') >  timedelta(minutes=1) }}
actions:
  - action: number.set_value
    metadata: {}
    data:
      value: >-
        {{ state_attr('input_datetime.cerbo_schedule_2_heure_de_demarrage','timestamp') }}
    target:
      entity_id: number.victron_multiplus_battery_schedule_2_heure_de_demarrage
mode: single

son inverse :

2/ son inverse, mise a jour du datetime dans home assistant via une modification du schedule dans le cerbo :

alias: Mise a jour de schedule 2 heure de demarrage via number.du_cerbo
description: ""
triggers:
  - entity_id:
      - number.victron_multiplus_battery_schedule_2_heure_de_demarrage
    trigger: state
conditions:
  - condition: template
    value_template: >-
      {{ now() -state_attr('automation.mise_a_jour_de_number_victron_multiplus_battery_schedule_2_heure_de_demarrage_via_input_datetime_cerbo_schedule_2_heure_de_demarrage', 'last_triggered') > timedelta(minutes=1) }}
actions:
  - action: input_datetime.set_datetime
    metadata: {}
    data_template:
      time: >-
        {% set hours = (
        states('number.victron_multiplus_battery_schedule_2_heure_de_demarrage')
        | int(default=0) / 3600 )| round(0,'ceil') -1 %} {% set minutes = (
        states('number.victron_multiplus_battery_schedule_2_heure_de_demarrage')
        | int(default=0) /60 % 60 ) | round(0,'ceil') %} {{
        '{:02}:{:02}:{:02}'.format(hours, minutes, 0) }}
    target:
      entity_id: input_datetime.cerbo_schedule_2_heure_de_demarrage
mode: single

Bonne journée

super merci beaucoup pour votre réponse,cela va me guider et me faire avancer dans la programmation!!

merci merci!

1 Like

Bonjour @barbera ,

Sous Node-Red, pour gérer la charge, j’utilise ce noeud :

image

Cela permet de désactiver le chargeur interne du mutltiplus mais n’influence pas la production solaire. Et donc on peut mettre son DVCC au maximum de son installation.

Je pense que ce nœud est accessible sur HA mais je développe uniquement sous Node-Red pour le moment donc à vérifier.

Ce nœud me permet donc en journée, d’utiliser le max de solaire, laisser passer EDF si j’ai un besoin et de ne jamais “charger” ma batterie en journée.

Cordialement,
Patrick.

en fait je charge par le secteur uniquement pendant les hc rouges ,si ça peut t’aider j’ai fait une automatisation assez simple qui peut te donner des idées :

dans les charges planifiées j’ai mis une heure de depart ( 3h30) mais avec une durée de 0 s lorsque je veux charger je modifie simplement la durée ce qui donne un truc assez simple dans ha :slight_smile:

alias: charge jours rouges => demain
description: “”
triggers:

  • trigger: state
    entity_id:
    • sensor.rte_tempo_prochaine_couleur
      to: Rouge
      conditions:
      actions:
  • action: mqtt.publish
    metadata: {}
    data:
    evaluate_payload: false
    qos: 0
    retain: false
    topic: >-
    victron/W/xxxxx/settings/0/Settings/CGwacs/BatteryLife/Schedule/Charge/0/Duration
    payload: “{“value”:9000}”
  • action: notify.mobile_app_pixel_6
    metadata: {}
    data:
    message: Charge à 3h30 jours rouges
    mode: single

merci beaucoup pour cette information,mais comme je debute ,depuis deux semaine avec du victron et baterie,c’st tout noveau pour moi.

actuellement je suis en dynamik ess car j’ai le contrat tempo

est ce que avec ce que vous m’avez passé ,je peux avoir une charge programmé,sachant que en ess dynamic,je ne peux pas utiliser le mode charge planifié,est si ,je pense,je désactive l’ess,il va perdre toutes ses analyse de fonctionnement et de régulation qu’il aura appris ?.

ok merci mais ettand en dynamic ESS est ce que je peux l’activer?

Bonsoir @jc83 ,

J’ai complétement “réécrit le DESS”, comme d’autre “bidoulleurs” d’ailleurs, en node-red. Et je suis aussi en Tempo. Il y avait des décisions du DESS Victron que je ne comprenais pas voir me surprenait, d’où un flux home-made pour satisfaire mes besoins.

Ci-dessus, mon flux de debug (production) avant que je le release dans le Cerbo-GX

Cdt,
Patrick.

je ne peux pas te dire je n’utilise pas le dynamic ess qui n’a aucun interet pour moi , je ne charge qu’avec mon surplus solaire et en hc la veille des jours rouges

à priori on ne peut pas utiliser les charges planifiées en dynamic ess

merci mais je n’utilise ni le dynamic ess , ni le node red , j’effectue les commandes de mes automatismes ha par mqtt

salut

merci pour votre explication, patrick @Gen X Strategie ,il est vrai que des fois dynamic fait du n’importe quoi il ne veux pas charger au cas ou la batterie,car il regarde ces prevision!.

Qui sont parfois fausse et je me retrouve a basculer sur le reseau edf en journée!!

merci si vous pouvez me faire parvenir les flux pour que je les mettent dans node red,si vous voulez bien sur, afin de tester.

Mais je ne sais pas comment les flux de nodered se mettent en marche,ce lance?

Y a t’il une manipulation a faire sur la console,changer des paramètre,car j’avoue je n’y comprend rien !!!

merci beaucoup déjà pour votre temps passé a répondre a mon probleme!

La première des choses à faire pour utiliser Node-RED est de passer du micrologiciel (firmware) normal au large. Ensuite, il suffit d’activer Node-RED. Plus d’infos dans la documentation officielle.

Les flux dès qu’ils sont créés et appliqués tournent en permanence tant qu’ils ne sont pas désactivés ou supprimés. De ce point de vue, c’est assez fiable.

Partager un flux ou un ensemble de flux peut être problématique d’un point de vue de la compatibilité car l’écriture d’un flux se base sur l’environnement présent qui sera différent pour chacun. A notre niveau, je pense que personne n’écrit des flux 100% génériques et compatibles quelque soit l’environnement. Ce serait très compliqué, voire impossible.

D’un autre point de vue, si tu mets en œuvre un flux ou un ensemble de flux, il te faudra, très probablement, un jour les mettre à jour pour suivre l’évolution de l’environnement (tout les éléments dont dépend le flux). Un minimum de compétence en programmation te sera nécessaire. Sur le long terme, ce n’est pas une bonne chose d’offrir une solution toute prête à quelqu’un qui ne sera pas capable de la maintenir.

Finalement, il y a le temps consacré au développement d’un flux. Inestimable dans certains cas. Partagé son travail avec quelqu’un ou la communauté est un acte généreux et gracieux. Hélas, la reconnaissance n’est pas toujours au rendez-vous.

Je pense que tu as tout de même les connaissances suffisantes pour commencer à apprendre à utiliser cet outil. Nous pouvons te donner des conseils, voire certaines parties de codes. J’en ai déjà partagé plusieurs par le passé.

1 Like

Bonjour @Q.x ,

Tu as tout à fait raison. Il vaut mieux passer par une phase d’apprentissage en commençant par du basique afin de comprendre les paramètres que l’on modifie sur nos environnements.
Quant à partager un flux complet, je suis mitigé aussi, risque d’obsolescence suivant une MAJ du Cerbo, d’une requête API externe, etc.
Ainsi que les heures aux carrées passé à développer un flux complexe, ben pour moi c’est du travail que je valorise.

Aider, accompagner, avec plaisir, c’est même le but de la communauté.

Cdt,
Patrick.

Bonjour à tous.
Alors en ce qui me concerne, j’aime bien voir les flux des autres développeurs non pas pour les recopier bêtement mais surtout pour étudier et comprendre la façon de faire.
C’est très instructif je trouve et je me suis pas mal inspiré des flux partagés de Quentin, Matt et autres.
Donc oui, pour étudier et comprendre, les flux des “autres” c’est super :wink:

salut.

bon je comprend ce que vous me dites!

c’est normal,partager un travail que l’on a mis du temps a faire c’est trop facile de demander …

je ne sais pas ou est ce que je peux trouver des information sur l’utilisation de node red ?

les seule chose que je trouve c’est en anglais et je met sous titre pour traduire,mais c’est sur, je ne suis pas bete au point de ne rien comprendre,mais si je ne comprend pas la base ,je ne sais pas quoi faire!

j’ai même demander a chat gpt de me faire un flux en fonction de mes attente,mais il ne fonctionne pas ,erreur syntaxe !!

donc ça va être dur pour moi!!

donc si vous avez des lien ,des cours ,des vidéo qui explique,je prend volontiers!

car les jours rouges vont bientôt arriver et Dynamic ESS j’en ai peur car en ce moment,il me garde de la batterie au lieux de la vider,car il ce base sur les prévision de production du lendemain! Et on n’est que en jour BLEU je n’imagine pas lorsque l’on sera en ROUGE !!

et je ne peux pas charger la nuit en HC

peut etre un flux qui permet de passer de dynamic ess en charge planifier en mettant la commande en Node_red?

merci

ou un petit exercice simple pour comprendre la programmation m’aiderais ..

Le développement et la programmation passent essentiellement par la lecture et l’écriture, accessoirement les vidéos peuvent compléter la formation. Les essais-erreurs font partie de l’apprentissage.

Pour l’utilisation de Node-RED, il faut comprendre le fonctionnement des différents nœuds. Je peux te conseiller la formation gratuite de Node-RED Academy. Malheureusement, uniquement en anglais. Et, pour approfondir cette courte formation, il y a la documentation officielle, toujours en anglais.

Etre capable de programmer en JavaScript est un plus très utile, voire indispensable. Si tu n’as jamais étudié un langage de programmation, alors il va te falloir en étudier un premier, par exemple JavaScript. Sinon, tous les langages de programmation ont de grandes similitudes mais aussi de grandes différences. Tu peux y aller par essais-erreurs et recherches spécifiques sur les éléments de programmation qui te posent problème. Tu n’auras certainement pas besoin de connaître les techniques de programmation les plus avancées.

Finalement, il faut comprendre le fonctionnement du système Victron et comprendre les nœuds développer par Victron pour interagir avec le son système, Venus OS (GX). Encore une fois, il faut se référer à la documentation officielle.

L’algorithme de DESS n’est pas suffisamment décrit pas Victron, peut-être en raison du secret industriel. J’avais émis deux hypothèses d’objectif recherché par l’algorithme à ce sujet.

  • Garder les batteries à l’état de charge le plus faible le moins longtemps possible
  • Garder les batteries à l’état de charge le plus haut le plus longtemps possible

L’algorithme est extrêmement dépendant des prévisions mais aussi de sa paramétrisation.

Les prévisions de production solaire sont moyennement fiables sur 24h or l’algorithme prend des décisions pour la journée à venir. J’ai déjà vu des variations importantes entre la prévision de 22h et celle de 6h du matin provenant de Solcast, le même fournisseur que Victron utilise.

Les prévisions de consommation sont encore moins fiables sur 24h. Ceci est l’élément qui me laisse penser que DESS n’est pas recommandé pour le résidentiel, d’autant plus si les habitants ont une consommation accordée avec la production. Uniquement utiliser l’énergie lorsqu’elle est produite. Un jour gris, ne presque rien consommer. Un jour ensoleillé, faire tourner tous les gros consommateurs.

Pour un algorithme générique (non-optimisé), j’ai trouvé qu’il fonctionne bien mais on peut faire mieux avec un algorithme optimisé pour l’utilisation réelle.

Pour ma part, ces deux derniers mois, j’ai réécrit un algorithme de prévisions sur 48h. C’est vraiment pas évident. Mon algorithme est basé sur le minimum d’énergie nécessaire hors consommateurs énergivores non-prioritaire, tels que lave-vaisselle, lave-linge, sèche-linge, four, … Le cas du chauffe-eau est particulier et a pris du temps pour être bien intégré aux prévisions. Il intègre également la notion de jour Rouge, un mécanisme similaire au BatteryLife et une augmentation de consommation estivale. Il réévalue les prévisions chaque 30 minutes afin de s’ajuster au plus vite avec toute variation imprévue. Ainsi dés que l’algorithme m’informe qu’il prévoit de l’exportation, je sais que je peux consommer plus que le minimum, donc faire tourner le lave-vaisselle, lave-linge, sèche-linge, cuisiner au four, … Si au contraire, il prévoit de l’importation, alors je peux toujours essayer de réduire ma consommation pour économiser quelques centimes.

Voici le rendu visuel de l’algorithme réalisé sur le tableau de bord de Node-RED.