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 ?