Ajout Pince ampèremétrique USB E-meter 8870

Bonjour,
J’essai d’utiliser cette pince avec HA

USB E-meter 8870
Documentation

Renseigner votre problème
Il s’agit d’un branchement en USB qui fonctionne en serie comme les vieux modem usb…
Sur un Linux avec picocom on obtiens bien la mesure de la pince.
picocom -b 19200 /dev/ttyACM0
puis @ pour lire la valeur
5.2
5.4 à chaque @ au clavier.
j’ai ajouter cette config

sensor:
  - platform: serial
    serial_port: /dev/ttyACM0
    name: UsbPower8870
    baudrate: 19200

Mais l’entité reste vide. Il doit falloir envoyer la demande de lecture réaliser par la commande @ et là je ne saurai indiquer cela dans la config.
La doc de serial:
parle de template mais pas de passer une commande.

Si vous aviez un info ?
Peut être je n’utilise pas la bonne méthode pour integrer ce materiel.

Merci de vos réponses
MonsieurB


Bonjour
Alors je prend une autre approche avec command_line…
dans configuration

command_line:
  - sensor:
      name: UsbPowerMeter
      command: "python3 /root/homeassistant/current_clamp.py /dev/ttyACM0 19200 '@'" 
      unit_of_measurement: 'Amp'
      value_template: "{{ value }}"
      scan_interval: 
        seconds: 5

j’ai essayé deux approches,
celle là en python

#!python3
import sys
import asyncio
import serial_asyncio_fast as serial_asyncio

async def main(port, baudrate, command):
    reader, writer = await serial_asyncio.open_serial_connection(url=port, baudrate=int(baudrate))
    writer.write((command + '\n').encode())
    line = await reader.readline()
    print(line.decode().strip())
    writer.close()
    await writer.wait_closed()

if len(sys.argv) != 4:
    print("Usage: python current_clamp.py <port> <baudrate> <command>")
    sys.exit(1)

port = sys.argv[1]
baudrate = sys.argv[2]
command = sys.argv[3]

asyncio.run(main(port, baudrate, command))
sys.exit(0)

[homeassistant.components.command_line.utils] Command failed (with return code 2): python3 /root/homeassistant/current_clamp.py /dev/ttyACM0 19200 ‹ @ ›

et le shell

#!/bin/zsh
/usr/bin/microcom -s 9600 /dev/ttyACM0 & pid=$! | true
sleep 2
echo '@' > /dev/ttyACM0
kill -2 $pid

[homeassistant.components.command_line.utils] Command failed (with return code 127): /root/homeassistant/current_clamp.sh

Pourtant dans le terminal ça passe les deux commandes renvoi bien la mesure de courant …