Interfacer Home Assistant avec la borne mobilize Powerbox UNO

Bonjour à tous,

Cela faisait un moment que je ne m’étais pas connecté au forum et je vois que vous êtes toujours très actifs et passionnés.
J’en profite, il est encore temps, je vous souhaite à tous une belle et heureuse année 2025, pleine de projets domotique.

Pour ma part l’année démarre avec un projet de voiture électrique et un projet de panneaux solaire en auto conso. De fait, de quoi enrichir ma plateforme domotique et m’amuser un peu.

Via Renault, on va m’installer une borne Mobilize Powerbox UNO.
Je ne trouve pas vraiment d’information sur les possibilités d’interfaçage.

Savez-vous s’il y a des possibilités d’intégration via API ou via MQTT ?

Ma configuration


[center]## System Information

version core-2025.1.4
installation_type Home Assistant Container
dev false
hassio false
docker true
user root
virtualenv false
python_version 3.13.1
os_name Linux
os_version 4.4.302+
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 5000
Installed Version 2.0.3
Stage running
Available Repositories 1560
Downloaded Repositories 35
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Dashboards
dashboards 4
resources 28
views 21
mode storage
Recorder
oldest_recorder_run 4 janvier 2025 à 05:04
current_recorder_run 25 janvier 2025 à 06:04
estimated_db_size 289.45 MiB
database_engine mysql
database_version 11.6.2
[/center] ___

Bonjour,

Je me posais la même question.

Sachant que la box est connectée en wi-fi, et qu’on peut la gérer via l’application, il doit y avoir moyen de faire une intégration. Voyons si quelqu’un s’est déjà penché sur la question …

En cherchant un peu les docs, Jeois que ça utilise le protocole OCPP1.6.
Peut-être que l’add-on ici marcherait : GitHub - lbbrhzn/ocpp: Home Assistant integration for electric vehicle chargers that support the Open Charge Point Protocol (OCPP).
Avec l’integration OCCP.

Je n’ai pas encore pu essayer, mais dans tous les cas je ne vois pas comment sélectionner un swrveur autre que celui de Mobilize comme serveur OCPP.

Pas encore eu l’installation. J’imagine que tu peux aussi attaquer une api http rest ce qui serait assez simple à mettre en œuvre. Tu as un lien vers une doc ?

Malheureusement, non, je n’arrive pas à trouver de doc … J’ai juste trouvé la brochure où ils informe des protocoles utilisés. Aucune mention de l’API REST …
Et dans la partie admin de la box, aucune info à ce sujet non plus. C’est assez obscur.

J’ai quand même le sentiment que la solution sera via le protocole OCPP.

Bonjour
J’ai reussi cette intégration avec une powerbox verso, je pense que l’OS est identique
Je suis passé par le réseau local la borne a une API avec les requetes classiques
ma problématique etait de changer le courant max, ma borne n’etant pas reliée au compteur par un cable.
C joint mon fichier init.py . Il faut créer un sous-dossier dans le dossier /homeassistant/custom_components. j’ai appelé ce sous dossier evse
HA surveille le dossier /homeassistant/custom_components et crée automatiquement une integration du nom de ce sous dossier

import logging
import requests
import voluptuous as vol
import urllib3

from homeassistant.core import HomeAssistant, ServiceCall
from homeassistant.helpers.typing import ConfigType
from homeassistant.helpers import config_validation as cv

# Disable SSL warnings for self-signed certificates
requests.packages.urllib3.disable_warnings(requests.packages.urllib3.exceptions.InsecureRequestWarning)

DOMAIN = "evse"
BASE_URL = "https://Your local ip address/v1.0"
USERNAME = "installer"
PASSWORD = "Your Passsword"
VERIFY_SSL = False  # Set to True if the certificate is valid
_LOGGER = logging.getLogger(__name__)

SERVICE_SET_MAX_CURRENT = "set_max_current"

SERVICE_SCHEMA = vol.Schema({vol.Required("max_current"): cv.positive_int})



def setup(hass: HomeAssistant, config: ConfigType):
    def get_auth_token():
        url = f"{BASE_URL}/auth"
        payload = {"username": USERNAME, "password": PASSWORD}
        headers = {"Content-Type": "application/json"}
        
        response = requests.post(url, json=payload, headers=headers, verify=VERIFY_SSL)
        response.raise_for_status()
        
        return response.json().get("id_token")

    def handle_set_max_current(call: ServiceCall):
        max_current = call.data.get("max_current")
        token = get_auth_token()
        url = f"{BASE_URL}/configs"

        headers = {
            "accept": "application/json",
            "authorization": f"Bearer {token}",
            "content-type": "application/json",
        }
        payload = [
            {
                "module_name": "ChargerApp",
                "config_name": "ACCharging.maxCurrent_mA",
                "config_value": max_current
            },
            {
                "module_name": "DynamicLoadManager",
                "config_name": "CurrentSet",
                "config_value": "SiteConsumption"
            }
        ]

        response = requests.patch(url, json=payload, headers=headers, verify=VERIFY_SSL)
        response.raise_for_status()
        try_empty_post = requests.post(url=f"{BASE_URL}/configs/apply", json={}, headers=headers, verify=VERIFY_SSL)
        print("Max current updated successfully:", response.json)
        
        if response.status_code == 200:
            print(f"response frome evse : {response.text}")
            _LOGGER.info("Response from server : %d .Successfully updated max charging current to %d mA", response.text , max_current)
        else:
            _LOGGER.error("Failed to update max current: %s", response.text)
        
        return response

    hass.services.register(DOMAIN, SERVICE_SET_MAX_CURRENT, handle_set_max_current, schema=SERVICE_SCHEMA)

    return True

super, la solution n’est donc pas en lien avec l’intégration ocpp ?

Je vais essayer de regarder ça, mais tu as trouvé une doc sur l’API ? Ou tu t’en es sorti en tâtonnant ? J’arrive à avoir le GET de configs sur Postman, mais je me demande si on peut accéder à d’autres infos / lancer une charge / programmer les horaires comme sur l’appli, voire récupérer la consommation.

Non, la solution proposée ne passe pas par ocpp. À voir selon les limitations qu’on trouvera avec l’API. Si on peut juste toucher à la config, ça ne suffira pas.

Pour le moment, de mon côté, mes tests avec ocpp ne se sont pas montrés concluants. Mais si je trouve le temps de creuser ce côté-là aussi, j’essaierai d’avancer dessus.

Bonjour à tous, ça y est j’ai enfin ma borne Powerbox Uno. Je vais pouvoir creuser la question.
Ce que je peux affirmer dès maintenant :
La borne est classiquement interfacée au réseau wifi de la maison.
Une interface web est disponible pour 3 profils (utilisateur, installateur et super installeur). Pour les 2 premiers profils un mot de passe vous est fourni.

2 menus disponibles :

  • Configuration
  • Interface de contrôle

Dans configuration on configure pas mal de choses dont un serveur OCPP qui est par défaut (dans mon cas) sur un serveur distant sécurisé Renault. Ce qui permet d’interagir via l’application mobile.

Par ailleurs l’Interface de Contrôle indique logiquement ce message : « L’interface de contrôle ne peut être utilisée si l’appareil est connecté au serveur OCPP. Veuillez plutôt utiliser l’application smartphone »

Pour éviter de s’enlever la possibilité d’utiliser l’application smartphone, je pense qu’il va falloir regarder plutôt du côté « Client » (application smartphone) plutôt que l’interface powerbox.

A suivre …

Bonjour
Nouveau propriétaire d’une Renault E-Tech, on vient m’installer une borne de recharge 7,4kW vendredi prochain.
Je suis donc aussi très intéressé pour intégrer ma borne Mobilize dans HA.
Merci pour vos aides futures :wink:
Stéphane