Implémentation des HC/HP dans vos plugins

Hello,

Je relance un peu le sujet mais il est rageant de mettre en place une domotique pour affiner et optimiser ses usages et se rendre compte que … on reste sur un simple tarif base avec un coût HP pour tous les calculs.

Que ce soit chez SuiviConso, Teleinfo, Energie ou autre, on est loin du travail d’origine de ces plugins dont le but est d’affiner la consommation et de l’optimiser.

Cela représente du travail certes, mais c’est quand même de plus en plus actif sur le sujet pour les revendeurs et les alternatifs (leclerc, total etc).

Donc faudrait vraiment s’adapter !

J’ai fait des calculs estimatifs à base des exports de la DB par suivi conso, génial.
J’ai pu montrer que je gagnais 25% sur ma conso globale par rapport à un tarif EDF classique HC/HP, 10% encore sur un tarif online 10% de Total (HC/HP que j’avais). Donc la domotique sert !
Et du coup, je passe sur un super heures creuses. Sauf que maintenant, je ne peux plus rien suivre :(.

J’ai créé un virtuel à trois états qui bascule suivant l’heure qui tourne toutes les 5 minutes (en cas de problème de coupure, de relance jeedom ou autre et éviter de la surcharge) : heures creuses, super creuses, pleines.

J’ai mis un booléen binaire en parallèle pour vraiment interdire un fonctionnement sur les heures creuses en gardant l’info du super heures creuses, point.

De même, j’ai perdu mon calcul de puissance active qui se basait sur les index hc/hp. Je l’ai modifié en utilisant l’info base.
Chaque min, je fais le delta entre base et le même base stocké la min précédente que je multiple par 60 (pour avoir des watts). Comme le linky file la puissance apparente, je fais une moyenne de S et je déduis le facteur de puissance (plus près de 1, plus on est résistif ; plus on paye ce que l’on consomme pour résumer).

Je prends base - le même base 1minute avant :
(#[Capteurs et Actionneurs][Compteur Linky Garage][BASE]#-variable(compteur_consommation1minbefore))*60
La minute avant :

#[Capteurs et Actionneurs][Compteur Linky Garage][BASE]#

La puissance apparente sur la dernière minute se calcule par moyenne :

statistics(#[Energie][Informations Energie][PAPP (tab)]#,avg,1min ago,now)

le facteur de qualité se calcule comme la division de P/S :

variable(puissance_1min_consommation)/variable(puissance_1min_apparente)

un petit if est nécessaire pour éviter des divisions par 0 en cas d’effacement total (j’ai une production).

Comme le teleinfo perd les compteurs hc/hp (je pourrais les recréer), je fais tout cela sur base et non sur les index hp/hc.

Sauf que côté plugin, bein on est limité…
J’ai donc décidé pour l’heure de mettre en place 3 index donc un hctotal pour suivre des index virtuels. Ce qui m’intéresse vous l’aurez compris c’est déjà de voir si les chiffres que total va me donner colle avec ma conso !
Ensuite, je me demande si je vais pas revenir sur suivi conso avec un hc/hp « faux » dans le sens où le hc sera un hc total (somme de l’heure creuse et super creuses).

Dans l’ensemble, assez simple mais peu lisible.
Je calcule 3 index en fonction de l’heure. A chaque fois c’est la valeur de l’index d’origine + base - le dernier index stocké. Je me sers d’une variable commune pour tous les ifs pour éviter de sauter des index !

- Nom du scénario : Tarification Total Energie
- Objet parent : Energie
- Mode du scénario : schedule
    - Programmation : * * * * *



    
    SI (0200 <= #time#) ET (#time# < 0600)
    ALORS
     #[Energie][Heures Pleines][HrCreuses]# - Options : {"enable":"1","background":"0"}
     #[Energie][PTEC][SHC]# - Options : {"enable":"1","background":"0"}
     (variable) Affectation de la variable : indexshc à variable(indexshc)+#17654#-variable(index_last)
     (variable) Affectation de la variable : indexhctotal à variable(indexhctotal)+#17654#-variable(index_last)
     (variable) Affectation de la variable : index_last à #17654#
    SINON
         
        SI (0600 <= #time#) ET (#time# < 0700)
        ALORS
         #[Energie][Heures Pleines][HrCreuses]# - Options : {"enable":"1","background":"0"}
         #[Energie][PTEC][HC]# - Options : {"enable":"1","background":"0"}
         (variable) Affectation de la variable : indexhc à variable(indexhc)+#17654#-variable(index_last)
         (variable) Affectation de la variable : indexhctotal à variable(indexhctotal)+#17654#-variable(index_last)
         (variable) Affectation de la variable : index_last à #17654#
        SINON
             
            SI ((2300 <= #time#) ET (#time# <= 2359)) OU ((0000 <= #time#) ET (#time# < 0200))
            ALORS
             #[Energie][Heures Pleines][HrCreuses]# - Options : {"enable":"1","background":"0"}
             #[Energie][PTEC][HC]# - Options : {"enable":"1","background":"0"}
             (variable) Affectation de la variable : indexhc à variable(indexhc)+#17654#-variable(index_last)
             (variable) Affectation de la variable : indexhctotal à variable(indexhctotal)+#17654#-variable(index_last)
             (variable) Affectation de la variable : index_last à #17654#
            SINON
             #[Energie][Heures Pleines][HrPleines]# - Options : {"enable":"1","background":"0"}
             #[Energie][PTEC][HP]# - Options : {"enable":"1","background":"0"}
             (variable) Affectation de la variable : indexhp à variable(indexhp)+#17654#-variable(index_last)
             (variable) Affectation de la variable : index_last à #17654#

#17654# est BASE.