Communication passerelle modbus TCP/IP et gestion package

Bonjour à tous

Je débute actuellement sur HA et voici mon problème et ce que je souhaiterai faire.

J’ai une passerelle Modbus que j’interroge en TCP/IP. Sous cette passerelle il y a plusieurs équipement (régulateurs/compteur électriques/autre)
J’aimerais avoir un fichier par équipement dans mon dossiers package mais je ne peux pas utiliser plusieurs fois l’ip ce cette passerelle.

Je ne me vois pas tout configurer en groupant les type (sensors / switches…)

J’ai essayer de renseigner la passerelle dans le fichier configuration.yaml puis de faire appel a celle ci au travers de chaque fichier.

Code du fichier configuration.yaml

modbus:
  - name: Passerelle 1
    type: tcp
    host: 192.168.1.10
    port: 502

Code d’un fichier régulateur

Essai 1 :

- platform: modbus
  switches:
      - name : regulateur_1_on_off
        hub: Passerelle 1
        slave : 2
        register: 3250
        register_type: holding
        data-type: 16int
        verify :

Essai 2 :

modbus:
  - type: tcp
    host: Passerelle 1
    port: 502

  switches:
      - name : regulateur_1_on_off
        slave : 2
        register: 3250
        register_type: holding
        data-type: 16int
        verify :

Quand je relance HA, j’ai l’impression que le ficher dans package n’arrive pas a faire le lien avec la passerelle configuré dans le configuration.yaml

Pour le moment je n’arrive qu’a mettre la passerelle dans un fichier ‹ régulateur › du dossier package afin de venir interagir avec les équipements.

Merci par avance de votre aide.

Salut,
Juste pour tester, tu as essayé avec un nom de passerelle et de hub sans espace?
Genre passerelle_1 par exemple.

Salut, j’ai déjà essayer avec le mot hub oui par exemple mais sans résultat.

Est-ce que tu a fait le lien entre tes fichiers via des includes ?
Ci-dessous les explication pour couper sa config en plusieurs fichiers :

Sans prendre en compte le problème de ta config a plusieurs fichiers :

Dans configuration.yaml :

modbus:
  - name: "Passerelle1"
    type: tcp
    host: 192.168.1.10
    port: 502

Si tu met modbus: plusieurs fois, même dans plusieurs fichiers, ça ne va pas marcher.

Si tu n’a qu’un seul switch modbus dans le fichier :

switch:
  - platform: modbus
    name : regulateur_1_on_off
    hub: "Passerelle1"
    slave : 2
    register: 3250
    register_type: holding
    data-type: 16int
    verify :

Si tu a plusieurs switch modbus dans le même fichier :

switch:
  - platform: modbus
    switches:
      - name : regulateur_1_on_off
        hub: "Passerelle1"
        slave : 2
        register: 3250
        register_type: holding
        data-type: 16int
        verify :
      - name : regulateur_2_on_off
        hub: "Passerelle1"
        slave : ...
        register: ....
        register_type: holding
        data-type: 16int
        verify :

Salut, oui j’ai bien le lien includes packages

Ci dessous mon dernier essais avec une sonde de température :

Fichier configuration.yaml

homeassistant:
  packages: !include_dir_named packages

modbus:
  - name: "passerelle_1"
    type: tcp
    host: 192.168.1.123
    port: 502
    delay: 5
    timeout: 10

Fichier dans packages → modbus_sensor_1.yaml

sensor:
  - platform: modbus
    name: "Sonde 1"
    hub: "passerelle_1"
    slave: 10
    address: 2529
    input_type: holding
    unit_of_measurement: "°C"

Quand je redémarre j’ai une erreur comme si il ne trouvé pas l’entité modbus :

2024-09-27 10:31:46.467 WARNING (MainThread) [homeassistant.components.modbus.validators] Modbus modbus_hub contain no entities, causing instability, entry not loaded

A priori c’est un ‹ bug › connu :thinking:.

La solution semble être de créé au moins un sensor ou autre qui ne sert a rien dans la configuration.

Malheureusement ce n’est pas si simple, en effet je n’ai plus de défaut liée au Modbus mais seul le sensor qui ne sert à rien est intégré