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 …