Adresacja USB w configuration.yaml

Mam mały zgrzyt dotyczący portów USB w moim HA postawionym na RPi3B. Mam w tej chwili podłączony konwerter USB - RS485 do licznika energii. Jednak w momencie kiedy podpinam inne urządzenia na USB często zmienia mi się adresacja USB i licznik przestaje działać. Czy istnieje możliwość zaadresowania w taki sposób urządzeń USB żeby nie było takich problemów?
W tej chwili w integracji z licznikiem mam wpis: port: /dev/ttyUSB0. Gdzieś kiedyś czytałem że można wprowadzać adresację ID ale nie bardzo wiem jak to zrobić.

- name: ttyUSB0
    sysfs: >-
      /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/ttyUSB0/tty/ttyUSB0
    dev_path: /dev/ttyUSB0
    subsystem: tty
    by_id: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
    attributes:
      DEVLINKS: >-
        /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
        /dev/serial/by-path/platform-3f980000.usb-usb-0:1.3:1.0-port0
      DEVNAME: /dev/ttyUSB0
      DEVPATH: >-
        /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/ttyUSB0/tty/ttyUSB0
      ID_BUS: usb
      ID_MODEL: USB_Serial
      ID_MODEL_ENC: USB\x20Serial
      ID_MODEL_ID: '7523'
      ID_PATH: 'platform-3f980000.usb-usb-0:1.3:1.0'
      ID_PATH_TAG: platform-3f980000_usb-usb-0_1_3_1_0
  ID_REVISION: '0264'
  ID_SERIAL: 1a86_USB_Serial
  ID_TYPE: generic
  ID_USB_DRIVER: ch341
  ID_USB_INTERFACES: ':ff0102:'
  ID_USB_INTERFACE_NUM: '00'
  ID_VENDOR: 1a86
  ID_VENDOR_ENC: 1a86
  ID_VENDOR_ID: 1a86
  MAJOR: '188'
  MINOR: '0'
  SUBSYSTEM: tty
  TAGS: ':systemd:'
  USEC_INITIALIZED: '4946700'

jeśli to powyżej pochodzi z
supervisor->system->host->sprzęt
z twojego systemu
to ścieżka “by ID” do tego portu to:

/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

Początkowo też tak myślałem ale po podpięciu drugiego urządzenia drugie USB ma taką samą ścieżkę jak podałeś a chyba powinny się jednak różnić?

Dziwne, powinno mieć inną. Spróbuj z udev.
Ja mam to zrobione tak:
/etc/udev/rules.d/99-custom.rules

SUBSYSTEM==“tty”, ATTRS{idVendor}==“04d8”, ATTRS{idProduct}==“fd52”, SYMLINK+=“fancon”
SUBSYSTEM==“tty”, ATTRS{idVendor}==“1cf1”, ATTRS{idProduct}==“0030”, SYMLINK+=“conbee”

Tu masz przykład z dokumentacji Z2M:

A masz dwa identyczne urządzenia?
(wtedy nie da się ich rozpoznać po identyfikatorze, bo mają identyczny)

Swoją drogą to jest najzwyklejszy mostek UART (+ serial + parralel) do USB, a konkretniej CH341 w/g tego co widać w tym kawałku, który załączyłeś (nawet wspomniałeś, że to mostek USB-RS485), więc owszem może być problem z rozróżnieniem nawet rożnych urządzeń, bo ten mostek jest dość powszechnie stosowany we wszystkim co tanie… a przede wszystkim w tanich modułach developerskich, na których często bazuje sprzęt produkowany małoseryjnie.

Jeśli używasz samoróbek na ESP, to po prostu pozostałe oprzyj na modułach zawierających np. mostek CP2102 (np. niektóre TTGO), chociaż w sumie to takie zgadywanie :stuck_out_tongue: .

Drugie urządzenie to arduino mega i ono z tego co pamiętam faktycznie jest na CH341 więc chyba mamy powód.