Hello! I’m pretty new to Home Assistant, but I did a little bit of development work on LinuxMCE back when it was an active project. I’m looking for a way to extend a couple of existing integrations and I would greatly appreciate some help/guidance on my overall plan and its consistency with the HA architecture approach.
I have an an older Denon Receiver that uses the same command set as the existing Denon component with the difference being that it supports the protocol through a serial port instead of Telnet. I think it makes sense to extend this component to allow configuration to use a system serial port rather than Telnet. From what I understand of the recent guidance, integration updates are only allowed if they migrate to UI configuration rather than YAML, so that would be a required task as well, correct?
In my setup, I’m using a Global Cache GC-100 device to put a serial port on a network endpoint. The current integrations for this device support the IR components of the GC-100 as well as the generic I/O functionality, but do not interact with the serial port.
Since there a lot of us out here that still use older equipment that have RS-232 control, the functionality is pretty useful. Currently, running HassOS, I use AppDaemon to run a custom script that creates a socket to connect to the had-coded IP address and port on the GC-100, then the commands are sent and received as raw bytes. This is not a very flexible solution, nor is it easy for someone new to HA, so I would like to extend the GC-100 integration to support the serial port. Ideally this would utilize socat to create a virtual serial port on the system that could be used by any integration. However the issue that I’m seeing is that HassOS doesn’t include socat, so while this approach seems like the one most inline with the dev goals, it would lock out HassOS users.
Does anyone have any recommendations on how I should proceed? I have not developed for Home Assistant before (and being an embedded systems developer, pretty new to docker development) so if this way off, please excuse me and I definitely appreciate any advice. Thanks!