Hi All.
I’ve been a long time HR user but never publicly posted anything on this forum. I thought this may be useful or interesting for people who are learning. I had previously used Philips Pronto remotes (RIP), then migrated to Command Fusion, before discovering Home Remote a number of years ago when Bill was still developing it. I created things that worked for me and then largely left them alone, but now I’m building a new house and ventured back to see how much has changed - quite a lot!
I thought I would aggregate 5 different ways I had previously integrated one of my Yamaha RX-870 AV receiver amplifiers over time into one project, just for comparison and interest (and my own reference). I’ve just abbreviated the elements to show status and control for a just few functions - power, input source, volume, mute, and show some raw output from the devices.
OldTCP (red) shows the variable/regex based method for connecting to the single TCP/IP interface. This method is now deprecated in Home Remote so you can’t create them, but still works in the current software (or you can copy/modify and existing one). This uses the Yamaha YNCA protocol (same as the serial RS232 protocol).
TCP Plugin (blue) shows the same protocol but using a Home Remote plugin, once these were introduced.
HTTP XML (purple) shows a Home Remote plugin using the first Yamaha REST interface which is XML based, called the YNC protocol.
HTTP JSON (orange) shows a plugin using the later Yamaha REST interface, which is JSON based, called the YXC protocol. I think this is only present on receivers made after about 2016(ish).
Home Rem (green) uses the default Yamaha receiver support which is now built into Home Remote.
You should be able to change the IP address and ports if you want to try them. Note that most receivers will only accept a single (or sometimes two) TCP type connections at a time. I actually use a Global Cache serial-to-ethernet bridge to allow multiple connections for these. The HTTP based connections should be fine.
YamahaAMP_Testv15.hrp (137.3 KB)
Please note I am definitely NOT a serious programmer by any means, so most of the code is probably pretty tacky (for instance, I just used regex to get the XML values rather than a proper table or data structure).
Hopefully a few people may find something useful for their own projects.