Scénario pour gestion surplus photovoltaique

Bonjour,
J’ai une installation photovoltaique avec un routeur qui gere le chauffe eau. Une fois la consigne atteinte je voudrais pouvoir utiliser le surplus sur certains chauffages via un scénario mais je ne sais pas comment m’y prendre pour stopper les radiateurs.
1er scenario
qui active ou desactive le Second scénario si prod > ou < à 1000W

2eme scénario
Pour mettre en marche les thermostats j’ai prevu ceci en déclencheur :

Prod injectée sur 10mn > 950

ensuite
si prod injectée sur 10mn > 950w et consigne CE atteinte alors Confort chambre 1

Pause de 10s pour verifier à nouveau si je suis toujours à + de 950W si le la consigne ch 1 est atteinte

Si prod injectée sur 10mn > 950 et consigne CE atteinte alors confort chambre 2
etc…

Par contre je ne sais pas comment gerer l’extinction des chauffages

Comment feriez vous ?
Merci pour vos conseils

tu fais une boucle, avec un sinon et tu coupes tous les radiateurs si la condition n’est pas atteinte. non?

Je n’avais pas penser à ça. Je n’ai jamais utilisé la boucle.
Tu la ferais sur combien de temps la boucle ?
Merci

suffisamment pour couvrir 18h max
j’imagine que la nuit, les PV produisent rien :wink:

Si j’ai bien compris la boucle sert à vérifier les conditions en boucle. Mais du coup ça vérifie à quel interval ?
Je vais voir essayer ça demain pour comprendre le fonctionnement.

Pour la durée du cycle total je peux faire un autre scénario qui activera le scénario avec la boucle lorsque la prod est supérieure à 500w par exemple

Encore merci.

il faut faire un « dans » à la fin de chaque itération, par exemple, et régler la durée.
pour le meilleur pas, aucune idée, à ajuster une fois implémenté probablement

Bonjour,

Je serais parti sur un seul scénario qui est déclenché de façon opportune :

Déclencheurs :

  • Levé du soleil
  • Prod injecté (Pi) < 0
  • Prod injecté > P d’un radiateur (Prad) + une réserve (R) (= 900 + 50 W)
  • Couché du soleil

Au levé du soleil une variable qui indique le nombre de radiateur à allumé (Vr) est mise à zéro (avec en début de scénario un SI trigger(Levé du soleil)==1 alors Vr=0 et STOP)

Le soleil se lève puis, à un moment, la Prod injecté est supérieur à Prad + R
Le scénario se déclenche (grace au 3 eme déclencheur), la variable est incrémenté de 1 (avec un second SI : si Pi > Prad + R alors variable Vr = Vr+1
Un troisième SI sera testé ensuite, mais on le regarde apres. ici il est égale à faux.
On arrive sur un bloc action qui regarde la valeur de la variable et allume le nombre de radiateur. Ici 1 radiateur.

La prod injecté = 50.
Le soleil continue de croitre : Pi > 950, on recommence Vr = 2 - 2 rad allumés.

La maison se mets à consommer :
Prod injecté < 0. Le scénario se lance grâce au 2 ème déclencheur.
C’est là, que le 3 ème SI intervient (les 2 premier SI seront faux)
SI : Pi <= 0 alors Vr = Vr - 1 (ici 2-1=1)
Le bloc action va éteindre un radiateur

Et ainsi de suite…

Par sécurité, j’aurais ajouté :

  • si de gros écart se produisent (saut de puissance de plus d’un radiateur à la fois)
    je finirais par un bloc Dans (1 minutes) : Relancer le scénario

un 4 ème Si : Si Pi > 0 et Pi < Prad : Stop

  • De quoi reset en fin de journée : Si trigger(couché du soleil) == 1 : Vr = 0

A essayer !!!
:slight_smile:

PS 1 : Si tes radiateurs ont des puissances différentes, il faut que le 900 (Prad) soit une variable qui dépend de la valeurs de Vr… (à faire dans un autre bloc action sous celui qui allume et éteint les radiateurs)

PS 2 : As-tu la mesure de la puissance total consommé par la maison ?
Car je pense qu’il aurait été beaucoup plus simple de gérer tes radiateurs en ayant comme info :

  • production solaire (PS)
  • puissance de la maison hors chauffage (PMHC) (que tu peux calculer = Puissance total de la maison - puissance radiateur)
  • Puissance libre pour le chauffage (PL = PS - PMHC)

Pourquoi ?
Car quand tu pars de la puissance injecté, tu utilises une info qui change en fonction de ton pilotage (de la mise ne route des radiateurs). C’est à dire que le pilotage influence la valeurs utilisé pour le pilotage… Ça complique les choses…
Si tu pars la dessus en pourra en reparler…
(Mais en gros :
Avantageusement, en partant de la Puissance libre pour les radiateurs, ton scénario se simplifie, puisque :
Pour UN intervalle de puissance libre UN nombre de radiateur doivent être allumés. Et si tes rad on des puissance différente, ça sera plus simple que dans la version du dessus)

1 « J'aime »

Merci pour ces explications.
En relevé de puissance j’ai ceci :

Conso totale du Tableau

et les sous équipements, chaque différentiels du tableau:

  • Lumieres
  • Prises
  • Chauffage
  • Chauffe eau
  • VMC
  • Cuisine

Pour La prod j’ai une pince aussi
et a partir de la je peux calculer

  • L’injection
  • le soutirage
  • et l’autoconso

Pour les radiateurs ils font tous 950w, mais je vais surement ajouter des appareils à gérer cet été qui ne seront pas des radiateurs. Du coup si c’est possible il faudrait que le scénario voit qu’il ne se passe rien sur le radiateur car il a atteint sa consigne.

Détails seconde solution avec la Puissance libre :
Si tu as la puissance disponible pour le chauffage et autre PL, alors j’aurais utilisé cette valeur.
Tu fais son calcul dans un virtuel (PL = PS - PMHC).

J’aurais aussi créé un virtuel pour le pilotage en manuel : Manuel Radiateur On/Off (un widget binaire), Accessoire 1 On/Off, Accessoire 2 On/Off.
Pour le pilotage en Auto : Auto Radiateur On/Off (exemple vrai si T° pièce 1 <= XX), etc pour les accessoires.

Déclencheur :

  • Levé du soleil (puis relance Dans 10 minutes)
  • au couché du soleil (on arrête tout)

Il commence en initialisant le Tag Puissance Libre Temps Réel (PLTR) (tu va comprendre pourquoi ensuite)
tag(PLTR) = Virtuel PL
On donne une valeurs à la réserve de puissance tag(R) = 100 (W)

Tu auras une succession de SI (t’en fait un, puis tu copie colle en changeant les détails 1, 2, 3…) / Je mets des SI(R1_1 pour indiquer que c’est un SI dans le SI(R1). Évidement, il n’y a a pas cela dans ton scénario… :
Si pour le rad 1 :
Si(R1) : (tag(PLTR) >= Prad + Tag(R) && Auto Radiateur 1 == 1) OU Manuel Radiateur == 1
– Alors actions : tag(PLTR) = tag(PLTR) - Prad
------ SI(R1_2) : Rad 1 == Off ; Alors : rad 1 On ; Sinon : rien
– Sinon :
-------Si(R1_3) : Rad 1 == On ; Alors rad 1 Off ; Sinon : rien

Si pour le rad 2 :
Si(R2) : tag(PLTR) >= Prad + Tag(R) && Auto Radiateur 2 == 1 OU Manuel Radiateur == 1
– Alors actions : tag(PLTR) = tag(PLTR) - Prad
------ SI(R2_1) : Rad 2 == Off ; Alors : rad 2 On ; Sinon : rien
– Sinon :
-------Si(R2_2) : Rad 2 == On ; Alors rad 2 Off ; Sinon : rien

Si pour le rad 3, etc…

Si pour un Accessoire 1 :
Si(A1) : tag(PLTR) >= Paccessoire 1 + tag(R) OU Manuel Accessoire 1 == 1
– Alors actions : tag(PLTR) = tag(PLTR) - Prad
------ SI(A1_1) : Accessoire 1 == Off ; Alors : Accessoire 1 On ; Sinon : rien
– Sinon :
-------Si(A1_2) : Accessoire 1 == On ; Alors Accessoire 1 Off ; Sinon : rien

Si pour un Accessoire 2 :
Si(A2) : tag(PLTR) >= Paccessoire 2 + tag(R) OU Manuel Accessoire 1 == 1
– Alors actions : tag(PLTR) = tag(PLTR) - Prad
------ SI(A2_1) : Accessoire 2 == Off ; Alors : Accessoire 2 On ; Sinon : rien
– Sinon :
-------Si(A2_2) : Accessoire 2 == On ; Alors Accessoire 2 Off ; Sinon : rien

Etc…

En gros, il faut trouvé une logique ultra « répétable » pour que ça soit souple à faire évoluer.
On comprend ici, que rajouter un appareil est ultra simple. Rien a réfléchir. Copier Coller un si, puis modifier les info sans tout revoir. Idem, si tu veux piloter en manuel les radiateurs : très facile, il suffit d’avoir un virtuel Manuel Radiateur 1, qui remplace le virtuel (dans le test du premier SI) Manuel Radiateur. Pas besoin de tout refaire…

Je sais pas si c’est LA solution.
Je te laisse la faire en détail et test, mais le principe (trouver un truc répétable et facile à faire évoluer) est le bon !!

De plus, c’est un début pour tester le modèle.
Car ensuite tu vas le faire évoluer en pouvant forcé le chauffage (quand il fait froid, mais pas de soleil) etc…
Il va vivre, mais il faut déja trouvé un bon début.

Ici : Pour forcé le chauffage, tu pourras simplement faire un virtuel Radiateur 1 Forcé On/Off (piloté en manuel ou d’autre actions auto).
Puis dans ton premier SI, tu n’aura qu’a ajouter
tag(PLTR) >= Prad + Tag(R) && Manuel Radiateur == 1 && Auto Radiateur 1 == 1 OU Radiateur forcé 1 == 1
Et c’est tout !!

Merci pour ta réponse. je vais regarder ca en détail et y aller petit à petit car c’est compliqué pour moi : )
Le premier virtuel ok il est fait.

Pour les radiateurs electrique j’utilise le plug in Thermostat. si je mets la chambre en mode confort c’est lui qui calcule si le thermostat demarre ou non en fonction de la temperature. du coup je ne comprends pas trop comment créer les virtuel. en gros si surplus je voudrais qu’il passe en confort donc la consigne change a ce moment la.

Comment tu indiques ceci dans le déclencheur?

En réfléchissant un peu plus simple, quel routeur utilises tu ? N’es t-il pas possible d’ajouter une seconde voie de routage pour quand le CE a atteint sa consigne ?

J’ai une seconde voie de routage mais pas utilisable en l’état car j’utilise le plug un thermostat jeedom et pour que ça fonctionne bien il faut mettre le thermostat du radiateur pratiquement à fond. Car c’est le plug un qui régule avec la sonde de la pièce

J’avais pas compris que vous utilisiez le plugin thermostat…

V2:
Le virtuel Auto radiateur 1 sert à dire si la fonction est active ou non.
Déclencheur :

  • Levé du soleil (puis relance Dans 10 minutes)
  • Au couché du soleil (on arrête tout)
  • Radiateur 1 (etat on/off)
  • Radiateur 2…
  • Virtuel Marche / Arret Auto Radiateur
  • Virtuel Marche / Arret Accessoire

SI : trigger(coucher du soleil) = 1
– Alors :
------- Remove_Inat
------- STOP

Actions :

  • tag(PLTR) = Virtuel PL
  • On donne une valeurs à la réserve de puissance : tag(R) = 100 (W)
  • Puissance d’un radiateur : tag(Prad)=900

Si pour le rad 1 :
Si : tag(PLTR) >= tag(Prad) + Tag(R) && Auto Radiateur 1 == 1
– Alors :
------ SI : Radiateur 1 en mode « auto » ;
----------- Alors radiateur 1 en mode « confort »
----------- Sinon : rien; Sinon : rien
– Sinon :
------ SI : Radiateur 1 en mode « confort » ;
----------- Alors radiateur 1 en mode « auto »
----------- Sinon : rien; Sinon : rien

Sleep : 10

SI : Radiateur 1 = On
– Alors tag(PLTR) = tag(PLTR) - tag(Prad)
– Sinon : rien

Si pour le rad 2
Copié collé pour le 2, 3, …

Si pour un Accessoire 1 :
Si(A1) : tag(PLTR) >= Paccessoire 1 + tag(R) OU Manuel Accessoire 1 == 1
– Alors actions : tag(PLTR) = tag(PLTR) - Prad
------ SI(A1_1) : Accessoire 1 == Off ; Alors : Accessoire 1 On ; Sinon : rien
– Sinon :
-------Si(A1_2) : Accessoire 1 == On ; Alors Accessoire 1 Off ; Sinon : rien

Si pour un Accessoire 2 :

SI Virtuel Radiateur auto == 0 && Accessoire 1 == 0 &&…
– Alors Stop
– Sinon : Dans : 10 minutes : Relancer le scénario

PS : J’ai ajouté les Etats (On/Off) des radiateurs dans les déclencheurs, comme ça quand le plugin Thermostat les arrêter ou les mettre en marche, tout va se re-calculer…

Le déclencheur est le levé du soleil, le dernier SI (que le vient de mettre dans la V2) relance toute les 10 min, sauf si tu arrète le système (les virtuel de Marche / Arret sont tous à Off).

j’avoue que ça n’a pas l’air simple.
Et donc… tu ne trouvera pas une solution en 10 minutes. Il va falloir laissé mijoter.
Mais avec Jeedom, TOUT (ou presque :slight_smile: ) Est possible !

1 « J'aime »

Je vais regarder de plus pres et essayer de faire ce scénario pour comprendre.

Avant de faire ce post j’avais commencé ceci avec 2 scénarios
Le second est activé par le premier si prod est supérieure à 800w et si le chauffe eau a atteint la consigne.

pour le second j’ai fait ceci :

image

image

Hâte de savoir comment ça se comportera !
A très bientot alors !
:slight_smile: