I just picked up a 4K commercial display to upgrade my TV for cheap. It has an RS232C port on the back for control, and Home Assistant has a native integration to control it via a local Linux tty. The hitch is that my Home Assistant server is located in a spot not near the television, and running physical serial line to it would be inconvenient. But, since I have a Raspberry Pi connected as the streaming media box, I should be able to plug a USB adapter into it and route the serial data over the network, right?

Is there a a good way to do this in HAOS?

  • Jenseitsjens@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 hours ago

    As mentioned by CondorWonder, the LG via Serial HA Integration can already connect to a TCP socket instead of a TTY device.

    If you want to use your Raspberry Pi as the serial proxy server, there’s tons of options. To recommend something kinda modern, I’d put a systemd service on your raspberry pi which starts netcat on a stty, see https://stackoverflow.com/a/71173551/2232127 as an example.

    • SwingingTheLamp@piefed.zipOP
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      1
      ·
      10 hours ago

      Thanks! I’ve got the TV end covered, the issue is at the HAOS end. The LG serial TV integration talks to a Linux device node (e.g. /dev/ttyUSB0), so the issue is stuffing the TCP stream back into a pty.

      • CondorWonder@lemmy.ca
        link
        fedilink
        English
        arrow-up
        5
        ·
        8 hours ago

        That’s what they’re saying - you can use an ESP32 device as a serial proxy without having to do anything special. If you already have a device attached to it you could use the socket:/… syntax below.

        Per the integration documentation:

        Port

        The serial port the TV is connected to. This can be a local device path or a remote serial proxy URL. For example, /dev/ttyUSB0 (USB adapter), socket://192.168.1.100:2000(network proxy), or socket://esphome-device.local:6638 (ESPHome).