Clevr House Logo Clevr House
FR
Panier

Le panier est vide.

Article

Connectez MQTT Home Assistant à Victron GX : configurez le pont N/R MQTT

Par Clevr House, le 26.09.2026

Connectez MQTT Home Assistant à Victron GX : configurez le pont N/R MQTT

Mis à jour le 26 septembre 2026 (Clevr Victron 2.1.0-dev7) : les anciennes versions indiquaient que Clevr envoyait automatiquement les keepalives. Ce n’est pas le cas. L’intégration écoute seulement. Il vous faut exactement un émetteur périodique par GX qui demande une republication complète environ toutes les 30 secondes — voir étape 8. Si vous utilisez 2.1.0-dev5 avec keepalive géré par Home Assistant, ajoutez l’émetteur avant la mise à niveau.

L’intégration Clevr Victron pour Home Assistant lit les données Victron et Fronius via MQTT.

Elle ne crée pas de connexion MQTT distincte au Cerbo GX ou autre GX. Elle utilise l’intégration MQTT déjà configurée dans Home Assistant.

Pour fonctionner, le broker Home Assistant doit :

recevoir l’arbre Victron N/ de notifications du GXet renvoyer les demandes R/ keepalive ou de lecture au GX, afin qu’un émetteur périodique maintienne la publication des données.

L’intégration Clevr écoute seulement. Elle n’envoie ni demandes R/ ni commandes W/ d’écriture et ne modifie donc pas les paramètres Victron via MQTT.

Ce guide explique comment configurer cette connexion.

Fonctionnement de la connexion MQTT

Une installation Clevr typique ressemble à ceci :

             Victron GX
          Cerbo GX / Venus OS
                  │
                  │  N/<portal-id>/...
                  │  Victron measurements
                  ▼
       ┌─────────────────────┐
       │ Home Assistant      │
       │ Mosquitto Broker    │
       │                     │
       │ victron/N/...       │
       │ victron/R/...       │
       └─────────────────────┘
                  │
                  │ Home Assistant MQTT integration
                  ▼
       ┌─────────────────────┐
       │ Clevr Victron       │
       │ Integration         │
       └─────────────────────┘
                  │
                  ▼
        Home Assistant sensors

Il existe aussi du trafic dans l’autre sens :

Periodic sender (one per GX, e.g. a Home Assistant automation)
     │
     │ victron/R/<portal-id>/keepalive
     ▼
Mosquitto Bridge
     │
     │ R/<portal-id>/keepalive
     ▼
Victron GX

L’victron/ dans cet exemple est un préfixe local du pont. Les sujets réels du GX commencent toujours directement par N/ et R/.

L’implémentation MQTT actuelle de Victron utilise N/ pour les notifications, R/ pour les lectures et W/ pour les demandes pouvant modifier les valeurs D-Bus.

Pour Clevr, il suffit de :

Espace de noms MQTTDirectionFonction
N/GX → Home AssistantMesures et informations des appareils
R/Home Assistant → GXDemandes de lecture et keepalive
W/Non relayéModifications Victron — inutiles pour Clevr

Cette séparation est volontaire.

Pourquoi utiliser un pont MQTT ?

De nombreuses installations utilisent déjà MQTT pour ESPHome, les passerelles Zigbee, compteurs, capteurs et autres automatismes.

Home Assistant doit continuer à utiliser son broker habituel.

Au lieu de passer au broker GX, nous relions les deux brokers par un pont Mosquitto.

Le résultat est simple :

GX topic:

N/abcdef123456/system/0/Ac/Grid/L1/Power

becomes in Home Assistant:

victron/N/abcdef123456/system/0/Ac/Grid/L1/Power

Dans l’autre sens :

Home Assistant publishes:

victron/R/abcdef123456/keepalive

GX receives:

R/abcdef123456/keepalive

Mosquitto prend en charge ce remappage avec préfixes locaux et distants.

Installation pas à pas

  1. Activez l’accès MQTT sur Victron GX.

    GX doit autoriser les connexions MQTT du réseau local.

    Venus OS moderne utilise FlashMQ. Victron documente le broker GX sur le port TCP 1883 et/ou 8883, selon la configuration de sécurité réseau.

    Vérifiez MQTT et l’accès local sur Cerbo GX ou autre GX.

    Notez l’adresse IP du GX. Une réservation DHCP ou une IP fixe est vivement recommandée pour éviter les changements inattendus.

    Il vous faut aussi le VRM Portal ID du GX.

    Victron identifie chaque installation MQTT par ce Portal ID, par exemple :

    N/abcdef123456/system/0/Ac/Grid/L1/Power

    Dans cet exemple :

    abcdef123456

    est le Portal ID.

    Victron indique que le Portal ID est dans les paramètres VRM du GX.

  2. Installez Mosquitto dans Home Assistant.

    Si vous utilisez déjà MQTT, vous pouvez généralement ignorer cette étape.

    Dans Home Assistant OS, ouvrez :

    Paramètres → Applications → Installer une application

    et installez :

    Broker Mosquitto

    Démarrez Mosquitto après l’installation.

    Home Assistant recommande son broker officiel Mosquitto comme solution locale la plus simple. L’intégration MQTT le détecte normalement automatiquement.

    Vérifiez ensuite :

    Paramètres → Appareils et services → MQTT

    L’intégration MQTT doit apparaître connectée.

    Un serveur MQTT séparé est aussi pris en charge. Il doit s’agir du même broker que celui utilisé par l’intégration MQTT de Home Assistant.

  3. Activez les fichiers de configuration Mosquitto personnalisés.

    Ouvrez la configuration de Broker Mosquitto dans l’application.

    Activez la configuration personnalisée :

    customize:
      active: true
      folder: mosquitto

    L’application officielle lira alors les fichiers supplémentaires .conf depuis :

    /share/mosquitto/

    Ce mécanisme est fourni par l’application officielle Mosquitto.

  4. Créez le pont Victron.

    Créez :

    /share/mosquitto/victron.conf

    Configuration recommandée :

    connection victron-gx
    address 192.168.1.50:1883
    
    start_type automatic
    try_private false
    notifications false
    cleansession true
    
    topic N/YOUR_PORTAL_ID/# in 0 victron/ ""
    topic R/YOUR_PORTAL_ID/# out 0 victron/ ""

    Remplacez :

    192.168.1.50

    par l’adresse IP de votre GX.

    Remplacez :

    YOUR_PORTAL_ID

    par le Portal ID réel de l’installation.

    Par exemple :

    connection victron-gx
    address 192.168.1.50:1883
    
    start_type automatic
    try_private false
    notifications false
    cleansession true
    
    topic N/abcdef123456/# in 0 victron/ ""
    topic R/abcdef123456/# out 0 victron/ ""

    Les deux topic règles sont essentielles.

    Cette règle :

    topic N/abcdef123456/# in 0 victron/ ""

    s’abonne à cet arbre sur le GX :

    N/abcdef123456/#

    et le place dans le broker Home Assistant sous :

    victron/N/abcdef123456/#

    La seconde règle :

    topic R/abcdef123456/# out 0 victron/ ""

    fait l’inverse pour les demandes de lecture.

    Un message publié localement sur :

    victron/R/abcdef123456/keepalive

    est envoyé au GX comme :

    R/abcdef123456/keepalive

    Notez qu’il n’existe volontairement aucune W/ règle de pont.

  5. Redémarrez le broker Mosquitto.

    Redémarrez Mosquitto après création ou modification de victron.conf.

    Vérifiez le journal au démarrage.

    Aucune erreur de connexion répétée ne doit apparaître pour le pont victron-gx dans le journal.

    Si GX refuse les connexions sur le port 1883vérifiez la sécurité réseau. Venus OS actuel peut proposer MQTT sur le port 8883 avec SSL/TLS selon le profil de sécurité.

    Ne réduisez pas la sécurité pour faire fonctionner l’exemple. Si GX exige MQTT sécurisé, configurez plutôt le pont en TLS.

  6. Testez le sens N/ de communication.

    Dans Home Assistant, ouvrez :

    Paramètres → Appareils et services → MQTT → Configurer

    Recherchez Écouter un sujet.

    Saisissez :

    victron/N/YOUR_PORTAL_ID/#

    et commencez l’écoute.

    Au début, vous verrez peut-être peu de choses ou rien.

    C’est normal.

    Venus OS moderne ne publie plus l’arbre complet sous forme de messages conservés. Le client doit demander une actualisation par keepalive Victron.

  7. Testez le sens R/ avec un keepalive.

    Gardez l’écoute active.

    Dans la configuration MQTT, publiez un paquet sur :

    victron/R/YOUR_PORTAL_ID/keepalive

    avec une charge utile vide.

    Le pont retire le préfixe victron/ et GX reçoit :

    R/YOUR_PORTAL_ID/keepalive

    GX doit alors publier ses données actuelles.

    Dans Home Assistant, vous devriez voir des messages comme :

    victron/N/YOUR_PORTAL_ID/system/0/...
    victron/N/YOUR_PORTAL_ID/solarcharger/...
    victron/N/YOUR_PORTAL_ID/pvinverter/...

    et les autres appareils installés.

    À la fin d’une actualisation complète, les versions récentes de Venus OS publient aussi :

    N/YOUR_PORTAL_ID/full_publish_completed

    Victron recommande spécifiquement le mécanisme R/<portal-id>/keepalive pour demander l’arbre MQTT actuel.

  8. Configurez un seul émetteur périodique de republications complètes.

    GX ne republie son arbre complet que sur demande. Ni l’intégration ni le panneau Clevr ne le demandent : un autre composant doit le faire.

    Configurer exactement un émetteur par GX qui publie l’une de ces demandes environ toutes les 30 secondes:

    victron/R/YOUR_PORTAL_ID/keepalive            (empty payload)

    ou une demande de lecture :

    victron/R/YOUR_PORTAL_ID/system/0/Serial     (empty payload)

    Les deux provoquent une publication complète, terminée par N/YOUR_PORTAL_ID/full_publish_completed.

    Vérifiez d’abord s’il en existe déjà un. Node-RED, d’autres intégrations Victron ou une automatisation existante envoient souvent déjà un keepalive. Écoutez victron/R/YOUR_PORTAL_ID/# pendant une minute : si les demandes sont régulières, conservez cet émetteur et n’en ajoutez pas. Deux émetteurs doublent les publications sans bénéfice.

    S’il n’y en a pas, une automatisation Home Assistant est la solution la plus simple. Créez-en une et passez à Modifier en YAML et collez ceci avec vos Portal ID et préfixe :

    alias: Victron GX full republish
    description: The only periodic sender for this GX. Do not add a second one.
    triggers:
      - trigger: time_pattern
        seconds: "/30"
    actions:
      - action: mqtt.publish
        data:
          topic: victron/R/abcdef123456/keepalive
          payload: ""
    mode: single

    N’utilisez pas l’option suppress-republish de keepalive (une charge utile keepalive comme {"keepalive-options": ["suppress-republish"]}). Elle empêche GX d’envoyer full_publish_completed, nécessaire à Clevr ; les valeurs inchangées peuvent devenir périmées après 65 secondes.

    Pourquoi 30 secondes ? GX accepte jusqu’à 60, mais 30 permettent deux publications pendant le scan de 130 secondes et maintiennent les valeurs dans leur limite de fraîcheur de 65 secondes.

    Vérifiez le résultat en écoutant victron/N/YOUR_PORTAL_ID/full_publish_completed. Un message doit arriver environ toutes les 30 secondes.

  9. Configurez l’intégration Clevr Victron.

    Une fois le pont fonctionnel, installez ou configurez l’Clevr Victron Panel intégration.

    Lorsqu’elle demande :

    préfixe du pont MQTT

    saisissez :

    victron/

    Lorsqu’elle demande :

    GX Portal ID

    saisissez votre Portal ID réel :

    abcdef123456

    Clevr cherchera donc sous :

    victron/N/abcdef123456/

    Elle n’envoie rien à victron/R/abcdef123456/: les demandes proviennent de votre émetteur périodique.

    La détection attend jusqu’à 130 secondes deux publications complètes ; l’émetteur de l’étape 8 doit donc fonctionner avant l’ajout de l’intégration.

Comprendre le préfixe MQTT

Le préfixe Clevr doit correspondre à ce qui existe sur le broker MQTT Home Assistant, pas nécessairement sur GX.

Par exemple :

Sujets visibles dans Home AssistantPréfixe MQTT Clevr
victron/N/<portal>/...victron/
gx/N/<portal>/...gx/
energy/victron/N/<portal>/...energy/victron/
N/<portal>/...laisser le préfixe vide

Pour le pont présenté ici, utilisez :

victron/

Si Home Assistant se connecte directement au broker GX et voit des sujets commençant par :

N/<portal-id>/

laissez le préfixe Clevr vide.

Pourquoi le keepalive est important

L’implémentation MQTT actuelle de Victron ne repose pas sur des messages conservés pour l’arbre complet.

Les applications s’abonnent plutôt à l’arbre N/ puis demandent les données actuelles avec :

R/<portal-id>/keepalive

GX republie les données disponibles. Victron documente une expiration de 60 secondes et recommande un renouvellement périodique tant que l’application MQTT est active.

L’intégration Clevr n’envoie pas de keepalive. Elle écoute seulement GX. Depuis 2.1.0-dev7, elle n’envoie aucune demande R/ ni à l’installation ni en fonctionnement.

Il vous faut donc exactement un émetteur périodique par GX, environ toutes les 30 secondes, comme décrit à étape 8. Sans émetteur, le scan ne trouve aucune publication complète et les valeurs expirent. Avec plusieurs, GX republie trop souvent.

Clevr ne modifie pas les paramètres GX

Cette distinction est importante.

Victron MQTT utilise :

N/

pour les notifications,

R/

pour les lectures,

et :

W/

pour les écritures. Selon Victron, les demandes W/ peuvent modifier les valeurs D-Bus et les réglages de fonctionnement.

L’intégration Clevr Victron n’a pas besoin de l’espace W/ de noms.

Notre configuration recommandée contient donc :

topic N/YOUR_PORTAL_ID/# in 0 victron/ ""
topic R/YOUR_PORTAL_ID/# out 0 victron/ ""

mais volontairement sans inclure :

topic W/# out

Cela ajoute une protection directement au pont MQTT.

Même si un autre client publie par erreur sur :

victron/W/...

du broker Home Assistant, aucune règle présentée n’autorise l’envoi au GX.

La connexion Victron de Clevr est donc conçue pour la surveillance et la lecture, pas le contrôle des réglages GX.

Dépannage

ProblèmePoints à vérifier
Intégration MQTT indisponibleVérifiez que Mosquitto fonctionne
Le pont ne se connecte pasVérifiez IP GX, accès MQTT et port autorisé par le profil de sécurité
Aucun victron/N/... sujet n’apparaîtEnvoyez un R/<portal>/keepalive; les données GX modernes ne sont pas conservées indéfiniment
N/ les données arrivent mais Clevr indique « Aucune donnée GX récente »Vérifiez Portal ID et préfixe MQTT
Le keepalive ne produit aucune réponseVérifiez que la règle R/ existe et va de Home Assistant au GX
Les sujets commencent par N/... plutôt que victron/N/...Pas de préfixe local ; laissez le préfixe Clevr vide
Les sujets utilisent un autre préfixeSaisissez le préfixe complet dans Clevr
Port 1883 refuséVérifiez la sécurité GX ; MQTT sécurisé sur 8883 peut être requis
Les données apparaissent puis s’arrêtentAucun émetteur périodique ou la règle R/ ne transmet pas ses demandes au GX
Clevr indique “Aucune donnée GX récente” ou ne détecte qu’une partie du systèmeVérifiez qu’un émetteur envoie un keepalive toutes les 30 secondes et que full_publish_completed arrive ; n’utilisez pas suppress-republish
Publications complètes plus fréquentes que toutes les 30 secondesPlusieurs émetteurs actifs, par exemple Node-RED et une automatisation HA ; gardez-en un

Le résultat final

Une fois la configuration terminée, Home Assistant doit disposer d’un chemin MQTT bidirectionnel en lecture seule vers Victron GX :

Victron GX
   │
   │ N/ notifications
   ▼
Mosquitto bridge
   │
   │ victron/N/...
   ▼
Home Assistant
(one periodic sender, ~30 s)
   │
   │ victron/R/... keepalive
   ▼
Mosquitto bridge
   │
   │ R/... keepalive
   ▼
Victron GX

Il n’existe volontairement aucun chemin pour :

W/

Une fois MQTT fonctionnel, installez l’intégration Clevr Victron Panel pour Home Assistant. Elle utilise la connexion MQTT existante pour détecter le système Victron, les MPPT, appareils réseau et batterie et onduleurs PV AC compatibles comme Fronius.

Aucun identifiant MQTT supplémentaire n’est nécessaire dans Clevr.

Étape suivante : installez l’intégration — voir Connectez Victron GX et Fronius à Home Assistant avec l’intégration Clevr Victron. Puis configurez votre Clevr GX Panel.