Bonjour a tous,
j’ai réalisé la communication entre mon onduleur ME3000SP et JEEDOM via MQTT en suivant le tuto de SOFARMQTT.
J’ai réussi à avoir sur Facebook les calculs utilisés par d’autres personnes sur Home assistant, cependant j’ai beaucoup de mal à retranscrire ça sur JEEDOM.
Il s’agit de la valeur de la puissance de la batterie, qui peut être soit en charge, soit en décharge.
J’ai bien les infos qui remontent, j’ai une opération à faire quand elle décharge.
(65535-valeur affichée) /100 et aucun calcul à réaliser quand elle charge, sachant qu’il y a une condition, ça rend les choses un peu compliquées pour moi, je peux par contre connaitre l’état en charge ou non sur une autre commande info.
Sur home assistant voici un exemple de calcul qui m’a été envoyé :
bp = parseInt(msg.payload.battery_power);
if (bp > 65535/2)
{
//Discharing
bp = parseInt((65535 - bp)10);
}
else
{
//Charging
bp = parseInt(bp10);
bp = 0-bp;
}
J’ai cru comprendre que c’était du javascript, et que je ne pourrai pas l’appliquer directement dans les options avancées de la commande, dans le menu formule de calcul.
Le calcul avec le 65535 est lié au MODBUS.
Pour ma part, ce que je souhaite avoir comme information, c’est uniquement quand la batterie décharge, en effet, la charge est déjà comptabilisée dans l’export de la production. Il faut donc que ma formule puisse ne pas comptabiliser les phases de chargement et ressembler à quelque chose de ce style-là :
if #value# > 65535 then ((65535 - #value#)/100 if #value# < 65535 then #value# = 0
Je pensais à utiliser un scénario qui déclencherait seulement lors des phases de décharge, mais comment historiser la commande depuis le scénario ?
J’ai bien conscience qu’on n’utilise pas If et then dans ce cas de figure, mais c’est pour vous faire comprendre la logique du besoin.
Encore merci pour votre aide




