Läsa från serieport i Home Assistant

Permalänk
Medlem

Läsa från serieport i Home Assistant

Hej,

Jag har en elmätare med HAN-port som jag kan läsa data från med en RS232 -> USB-kabel (FTDI-kabel). Får ut det jag vill via ett litet python-program på en PC men skulle behöva tips på hur jag kan få in det i Home Assistant.

Mätaren skickar ut 581 bytes med data var 10:e sekund i något slags binärformat (HDLC) så det behöver tolkas i Home Assistant. Har sett att det finns en "serial"-sensor men den verkar mer vara avsedd för data i textformat.

Är inget vidare på Linux så skulle behöva hjälp med följande:

Hur mappar jag in serieporten i docker-containern där HA körs? (Kör på en RPi3b.)

Hur kan jag läsa in data och extrahera rätt bytes i Home Assistant? Behöver göra några operationer med datat för att få fram rätt siffra (med rätt enhet osv.). Funderar på "command_line"-sensorn och låta den köra ett python-skript som läser från serieporten. Vad är vägen fram för detta?

Tacksam för tips.

Permalänk
Medlem

Nu är jag inte alls någon expert, och jag har inte gjort liknande själv. Men tänker att teoretiskt bör det se ut liknande såhär:
Med en USB->Seriell adapter kommer den dyka upp under /dev/ttyUSB eller liknande. Den kan du sedan läsa, med t.ex. screen i terminalen(har aldrig använt screen själv...).
Du bör kunna skicka datat(regelbunden cat från /dev/ttyUSB ?) till en fil som containern har tillgång till, i en mapp som är mappad som en volume i containern.
Sen har jag aldrig använt home assistant. Men tänker att man får be home assistant läsa filen regelbundet och presentera datat på ett bra sätt.

Som jag skrev tidigare så teoriserar jag och tror inte det här är den mest exakta lösningen.

Permalänk
Medlem

Kolla lite på https://github.com/turbokongen/hass-AMS / https://community.home-assistant.io/t/norwegian-han-sensors/1...
Borde ju fungera?

Edit; glöm det, missförstod nog

Visa signatur

Fractal Design Define XL R2, Corsair RM1000 1000W, Ryzen 9 3950X @ 3.49GHz, 32GB, MSI GTX 1080 Ti Sea Hawk X 11GB, 6TB HDD, 970 EVO Plus

Permalänk
Medlem

Blev en "command line sensor" som anropar ett pythonskript som skickar ut json-data med data från elmätaren. Funkade till slut...

- platform: command_line name: Effektmatare scan_interval: 8 command: "python3 read_HAN_port.py" value_template: "{{ value_json.Cur_pwr }}" unit_of_measurement: W json_attributes: - Cur_pwr - L1_pwr - L2_pwr - L3_pwr - Tot_electric_energy - L1_voltage - L2_voltage - L3_voltage