Aller au contenu principal

Intégration domotique NRGkick, gratuite et open source

Intégration NRGkick pour Gladys Assistant

Borne NRGkick Gen2 par son API locale : état, puissance, énergie, pause ; commandes en option.

Affiche votre borne de recharge portable NRGkick Gen2 dans Gladys par son API REST JSON locale : sans cloud, sans compte, directement sur votre réseau.

Jamais testé avec une vraie borne. Sans lien avec DiniTech (le fabricant de la NRGkick). L'intégration parle à la borne comme la bibliothèque nrgkick-api (utilisée par Home Assistant). DiniTech peut changer son API lors d'une mise à jour.

Ce que vous obtenez​

Un appareil par borne, avec :

FonctionnalitéContenu
ÉtatAucun véhicule, branché sans charge, charge en pause, en charge, réveil, erreur
ConnecteurDisponible, occupé, en défaut ou indisponible (catégorie « borne de recharge »)
État de chargeEn charge, véhicule connecté, en pause par la borne, inactif
Véhicule branché, Charge en pauseOui / non
Puissance, et puissance L1 / L2 / L3En W
Courant L1 / L2 / L3, Tension L1 / L2 / L3En A et en V (une phase que l'adaptateur n'a pas reste vide)
Courant de charge régléEn A, la consigne de la borne
Courant signalé au véhiculeEn A
Énergie de la sessionEn kWh, un capteur simple (repart de 0 à chaque session)
Index d'énergieEn kWh, l'énergie totale chargée : un index, protégé (voir plus bas)
TempératuresBoîtier, adaptateur L1 / L2 / L3, en °C
Erreur, avertissement, différentielOui / non, et le code d'erreur et d'avertissement en texte
Mettre la charge en pauseBouton, toujours disponible
Reprendre la chargeBouton (seulement si autorisé)
Régler le courant de chargeListe de 6 A au plafond (seulement si autorisé)

Lecture toutes les 30 secondes par défaut (de 10 s à 10 min, réglable).

Installation​

  1. Donnez à la borne une adresse IP fixe dans votre box.
  2. Dans l'application NRGkick, activez l'API JSON locale (sans elle, la borne répond que l'API doit être activée, et l'état de l'intégration le dit). Si vous y activez aussi BasicAuth, notez son nom d'utilisateur et son mot de passe.
  3. Installez l'intégration depuis le store de Gladys. Dans sa configuration, saisissez l'adresse IP de la borne, et seulement si BasicAuth est activé, son nom d'utilisateur et son mot de passe (les deux, ou aucun). Un nom et un mot de passe collés dans l'adresse (admin:…@) sont ignorés et jamais réaffichés : utilisez les champs dédiés.
  4. Enregistrez, puis ajoutez la borne depuis l'onglet Découverte.

Le mot de passe est gardé par Gladys dans sa base, jamais réaffiché, et envoyé seulement à la borne. Il n'est jamais écrit dans les journaux, ni dans /data, ni dans un état. La borne ne parle qu'en HTTP simple : le nom et le mot de passe passent en clair, en HTTP sur votre réseau local. Gardez la borne sur un réseau de confiance.

Le bouton Tester la connexion lit la borne une fois (au plus toutes les 10 secondes).

Index d'énergie​

L'énergie totale chargée par la borne est un index : Gladys en tire la consommation et le coût, et compte chaque hausse en entier. L'intégration le protège comme l'intégration P1 Monitor :

  • jamais 0 ; une baisse ou un saut improbable (plus de 25 kW en moyenne depuis la dernière valeur, la borne en donne 22 au plus) est retenu : la dernière valeur acceptée est renvoyée, l'état de l'intégration et le badge de l'appareil montrent les kWh en attente, et le journal le dit ; la retenue est gardée dans /data, même après un redémarrage ;
  • elle n'est jamais confirmée par la répétition ni par le temps : seule l'action « Accepter l'index retenu » de la configuration la prend, en deux clics. Le premier clic ne prend rien : il montre la valeur retenue (baisse ou saut, de → à, kWh). Un second clic dans les 60 secondes prend exactement cela — la valeur montrée, plus ce que la borne a pu charger depuis — et répond par ce qui est compté ; si la valeur a changé entre-temps, elle est montrée de nouveau. Enregistrer la configuration ou une reconnexion n'accepte jamais rien ;
  • une borne ajoutée de nouveau repart d'une garde neuve.

La borne est en général derrière votre compteur principal : dans les réglages d'énergie de Gladys, rangez-la sous ce compteur pour qu'elle ne soit pas comptée deux fois. L'énergie de la session reste un capteur simple : elle repart de 0 à chaque session, ce n'est jamais un index.

Commandes​

« Mettre la charge en pause » est toujours disponible, sans option : elle ne fait qu'arrêter la charge (charge_pause=1). Elle n'est jamais retenue : ni par une autre commande en cours (elle part tout de suite, et elle est renvoyée une fois quand une reprise qu'elle a doublée se termine ; une reprise ou un courant pas encore envoyé lui cède la place), ni par la minute entre deux changements, ni par une pause 429 ou des identifiants refusés (alors une seule requête), ni par l'absence de lecture (elle n'en a pas besoin). Quand une reprise est restée sans confirmation, elle peut encore atteindre la borne plus tard : une pause envoyée dans les 90 secondes qui suivent est surveillée, et renvoyée (deux fois au plus) si une lecture montre la charge reprise alors qu'aucune autre reprise n'est partie depuis Gladys. Attention : une reprise faite dans ces 90 secondes depuis l'application NRGkick ou par OCPP est donc annulée elle aussi (deux fois au plus) ; refaites-la après.

Une pause reste sur la borne jusqu'à une reprise. Avec l'option ci-dessous désactivée (par défaut), seule l'application NRGkick reprend la charge : une pause oubliée (par une scène, le chat IA) peut empêcher la charge suivante et laisser la voiture non chargée. La borne peut aussi refuser une pause (par exemple quand la charge solaire la bloque) : Gladys répond alors « La borne a refusé la commande ».

Avant la première lecture après un redémarrage (une pause 429 ou un blocage gardés dans /data), la pause part vers l'adresse configurée pour la dernière borne lue à cette adresse seulement.

« Reprendre la charge » et « Régler le courant de charge » refusent toute commande tant que Autoriser la reprise et le courant de charge est désactivé (par défaut). Activé :

  • Reprendre remet charge_pause=0 ; refusé sans véhicule branché, ou sur une erreur ou un état inconnu ;
  • Courant de charge : de 6 A au plafond : le plus bas du « Plafond du courant de charge » de la configuration (16 A par défaut, 32 A au plus), du courant nominal de la borne et du courant maximal de son adaptateur. Si la borne prend une autre valeur que celle demandée, Gladys affiche « envoyée, sans confirmation ».
  • Un changement par minute au plus (reprise ou courant) : pas de régulation fine depuis Gladys.

Ce sont des boutons et une liste, jamais des interrupteurs : un « éteins tout » (depuis Gladys, Google Home, Alexa ou HomeKit) ne les atteint jamais. Une scène peut les déclencher, seulement par une action explicite. Notez que le chat IA de Gladys (MCP) peut créer et lancer une telle scène : tant que les commandes sont autorisées, il peut reprendre la charge ou changer le courant.

Avant une reprise ou un changement de courant, l'intégration relit la borne et décide sur cette lecture seulement ; l'option est revérifiée juste avant l'envoi. Une commande sans effet (déjà le cas) n'est pas envoyée. Une commande qui ne peut pas partir dans les 3,5 secondes est refusée sans être envoyée. Quand la borne ne confirme pas (silence, erreur 5xx, réponse inattendue), Gladys affiche « Commande envoyée, sans confirmation » : vérifiez l'état, relu 5 puis 20 secondes plus tard. Une commande à la fois : une autre est refusée aussitôt, sauf la pause.

Erreurs et limites​

  • Borne injoignable : seuls le connecteur (« indisponible ») et l'état (« Borne injoignable ») changent ; les autres valeurs gardent la dernière. Nouvel essai après 30 s, 1, 2, puis 5 minutes, jamais plus vite que l'intervalle.
  • API JSON désactivée dans l'application : l'état le dit ; nouvel essai toutes les 5 minutes.
  • Identifiants refusés (ou demandés alors qu'aucun n'est saisi) : l'état demande de les vérifier. Nouveaux essais après 15 minutes, 1 heure, puis toutes les 6 heures, jamais plus tôt (gardé dans /data après un redémarrage) ; enregistrer de nouveaux identifiants réessaie aussitôt.
  • 429 (trop de requêtes) ou 5xx : une pause (de 1 minute à 6 heures pour un 429) pour les lectures et les commandes sauf la pause de la charge, jamais plus courte que l'intervalle, gardée dans /data après un redémarrage.
  • Ni la limite d'énergie, ni le nombre de phases ne se changent depuis Gladys dans cette version. Une seule borne par intégration. Pas de Bluetooth.
  • Si votre NRGkick parle aussi OCPP à un autre logiciel (par exemple l'intégration OCPP de Gladys), les deux peuvent se contredire sur la pause et le courant : n'en commandez qu'un.
  • Les journaux ne contiennent jamais le texte des réponses d'erreur de la borne, ni le mot de passe.

Crédits​

Portage de nrgkick-api (Andreas Jakl, MIT, version 1.8.1), la bibliothèque de l'intégration NRGkick de Home Assistant. Garde de l'index reprise de l'intégration P1 Monitor. Licence Apache-2.0.

Paramètres de configuration​

Voici les paramètres demandés par NRGkick dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
Votre NRGkicksectionNonAffiche votre borne portable NRGkick Gen2 dans Gladys par son API REST JSON locale, sans cloud : état, véhicule branché, puissance, courant et tension par phase, énergie de la session, index d'énergie, températures, codes. Dans l'application NRGkick, activez l'API JSON locale ; donnez à la borne une adresse fixe dans votre box. Saisissez son adresse IP, enregistrez, puis ajoutez-la depuis l'onglet Découverte. Mettre la charge en pause est toujours possible depuis Gladys ; la reprendre et le courant de charge seulement si vous les autorisez ci-dessous. Jamais testé avec une vraie borne. Sans lien avec DiniTech.
Adresse IP de la bornestringOuiUne adresse IPv4 ou un nom d'hôte, éventuellement suivi d'un port (80 par défaut).
Nom d'utilisateur (BasicAuth, facultatif)stringNonSeulement si BasicAuth est activé dans l'application NRGkick : son nom d'utilisateur. Laissez vide sinon.
Mot de passe (BasicAuth, facultatif)secretNonSeulement si BasicAuth est activé dans l'application NRGkick : son mot de passe. Gardé par Gladys dans sa base, jamais réaffiché, envoyé seulement à la borne, en clair (HTTP) sur le réseau local. Des identifiants refusés sont réessayés après 15 min, 1 h, puis toutes les 6 h.
Autoriser la reprise et le courant de chargebooleanNonDésactivé par défaut. Activé : Gladys peut reprendre la charge (bouton) et régler le courant de charge (liste, de 6 A au plafond ci-dessous). Désactivé : ces deux fonctionnalités refusent toute commande. « Mettre la charge en pause » reste toujours disponible : elle ne fait qu'arrêter la charge, et la pause reste sur la borne jusqu'à une reprise ; option désactivée, seule l'application NRGkick la reprend (une pause oubliée peut empêcher la charge suivante).
Plafond du courant de charge (A)numberNonLe courant le plus élevé que Gladys peut demander (16 A par défaut). La plus basse de cette valeur, du courant nominal de la borne et du courant maximal de son adaptateur s'applique.
Intervalle de rafraîchissement (s)numberNonFréquence de lecture de la borne, en secondes.
Langue des noms des fonctionnalitésselectNonSert aux noms des fonctionnalités des appareils ajoutés désormais, aux textes d'état et aux erreurs des commandes.

Comment installer NRGkick dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : NRGkick apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
  2. Cliquez sur Installer. Gladys télécharge l'image Docker (ghcr.io/lm1lc3n7/gladys-nrgkick:0.1.1), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration).
  3. Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
  4. Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/LM1LC3N7/gladys-nrgkick.

NRGkick nécessite Gladys >=5.1.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.

Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.

À propos des intégrations externes​

NRGkick est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par LM1LC3N7, et non par l'équipe cœur de Gladys.

Inscrivez-vous à la newsletter Gladys Assistant

Quelques emails par mois sur les nouveautés et l'actualité du projet. Envoyés par Pierre-Gilles Leymarie, le fondateur du projet. Désinscription possible à tout moment 🙂