Why is it cumbersome to mount remote serial devices as /dev/tty virtual devices, especially for those who aren’t as technical? Adding a native HA feature would allow EASILY using remote serial devices that are not physically connected to the same device that runs HA with any of the existing HA integrations. Basically a feature, exposed through HA UI, to use socat to mount virtual /dev/tty devices, which then ANY integration could access these remote serial devices.
This could be limited to support pseudo-terminal (pty) devices only:
- the goal was to expose virtual tty devices to HA components that rely on reading/writing to local /dev/tty* for communicating with devices
- for security reasons (e.g. no ability to start listeners or interact with the local filesystem on a Home Assistant instance)
Example remote serial connections:
- communicating to RS232 serial devices using the IP2SL remote serial connection protocol (e.g. using IP2SL hardware devices or Virtual IP2SL)
- communicating to hardware devices exposed via ser2net
Example of what configuration could look like:
remote_tty:
- dev: marantz-stereo
remote_address: "tcp:10.10.1.33:4999"
- dev: pool-controller
remote_address: "tcp:10.10.1.12:5002"
pty_options: "waitslave"
- dev: monoprice
remote_address: "tcp:10.10.1.12:4999"
The remote_address
option is the second address argument passed into socat.