Contrôle domotique d’une Wallbox Openevse

Share

Vous trouverez ci-dessous, le contenu décrit dans la vidéo permettant de récupérer les informations et de contrôler une wallbox openevse. Cela permet de gérer sa charge de véhicule dans différents cas, dont la possibilité de choisir le niveau de recharge depuis sa maison ou de charger le véhicule grâce à l’électricité produite par des panneaux solaires.

Cela a été mis en place sur un système domotique jeedom, mais les informations indiquées peuvent être aussi utilies pour d’autres types de systèmes domotiques d’installations.

Suivez le guide vidéo pour mieux comprendre comment ces différents éléments interagissent entre eux.

Le virtuel

Cet objet est créé à partir du plugin Virtuel. C’est l’enveloppe qui va stocker les informations relatives à openevse et les présenter d’une façon correcte

Les sélecteurs de mode

Créés à partir du plugin mode. Ces deux objets permettent de sélectionner le mode de recharge avec une sélection textuelle de ceux-ci.

Les scripts

Voici le contenu d’un objet script nommé « Contrôle OpenEVSE » qui réalise les actions et requêtes d’informations à la wallbox openevse. Utilisation du plugin script de Jeedom.

ON Action (HTTP) http://192.168.x.y/r?rapi=%24FE
OFF Action (HTTP) http://192.168.x.y/r?rapi=%24FD
Pause Action (HTTP) http://192.168.x.y/r?rapi=%24FS
SetMax Action (HTTP) http://192.168.x.y/r?rapi=%24SC%20#slider#
Status Info (HTTP) http://192.168.x.y/status
Branché Info (JSON) http://192.168.x.y/r?json=1&rapi=%24G0 ret

Le scénario php

Le scénario est téléchargeable ici . Il s’agit d’un export du scenario présenté dans la vidéo. C’est réimportable si vous le souhaitez sous l’éditeur de scénario.

Voici quelques infos que je souhaitais mettre en avant :

Décodage d’une réponse JSON à une requête unique HTTP, et récupération des différentes valeurs contenues dans le réponse.

if ($jsonevse !='') {
  $arrayevse = json_decode($jsonevse, true);
  $mode= $arrayevse['mode'];
  if ($mode = 'STA') {
    $amp=(intval($arrayevse['amp']))/1000;

Décodage de l’état branché ou non branché du véhicule

if ($GOstate == '$OK 1^31' && $branche_old != 1) {
  $lignelog=$lignelog."Branché(1) ";
  $cmdbranche->event((1));
  $branche = 1;
} elseif ($GOstate == '$OK 0^30' && $branche_old != 0) {
  $lignelog=$lignelog."Branché(0) ";
  $cmdbranche->event((0));
  $branche = 0;
} else $branche = $branche_old;

Tableau du niveau de charge du véhicule en fonction de l’heure. Véhicule programmé pour réaliser une charge à 100% avec heure de fin à 7h00

/* *** Tableau de référence de la charge. Le véhicule programmé pour départ à 7h full charge
7h00 0 mn 100% Programmation du véhicule
6h21 -40 mn 90% Fin de charge avec courant se réduisant de 32A à 14A
5h52 -29 mn 80% Charge 32A
5h23 -29 mn 70% Charge 32A
4h54 -29 mn 60% Charge 32A
4h25 -29 mn 50% Charge 32A
3h56 -29 mn 40% Charge 32A
3h27 -29 mn 30% Charge 32A
2h58 -29 mn 20% Charge 32A
2h29 -29 mn 10% Charge 32A
2h00 -29 mn 0% Charge 32A

Limitation du courant de charge pour éviter un dépassement de forfait électrique

// Limitation de la charge par rapport au courant consommé au compteur (marge de 2A)
// On utilise Pinstantanée pour savoir si on consomme ou si on produit sur le réseau ( si 0 alors on produit)
if ($iinstantanee > $amp && $pinstantanee>3000) {
  $etatchangecourant = ($isouscrite-2)-($iinstantanee -$amp);
  if ( $etatchangecourant < $openevseamprec ) $lignelog=$lignelog."| ILimit = $etatchangecourant A ";
  } else {
  $etatchangecourant = 48;
  }

Share

Vincent Recipon

Propriétaire de ce blog. Owner of this blog.

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.