This is a rehash of email@example.com's ST Yamaha integration. The device in Hubitat won't receive status updates from the receiver automatically. The receivers do not send any unfortunately. To get refreshed states you must manually refresh. If you are performing an action in RM that depends on receiver states you can do a refresh and a short pause or refresh on an event (like a switch or motion). As a last resort I left the polling method from the SmartThings solution. Polling should be used as a last resort especially with any regular frequency as it can contribute to hub slowdowns.
- Create two new device drivers from the code below:
- Create a virtual device. Put whatever value you want in the DNI. The driver will update it. Make sure you choose the type as "Yamaha Receiver"
- After save make sure you populate the IP and choose a zone and hit save again.
The driver will update the DNI to the IP address and add a child device for each zone you choose. I'm sure I could have done this better e.g. discovery or whatever but for now I don't care. I just want it working.
One way to use this driver in automations (because you can't capture inputs in scenes):
[Withdrawn] Yamaha Network Receivers Basic Integration
Is my Yamaha compatible with this driver?
Does your Yamaha support a web interface if you try to connect to its LAN IP with your browser? If so, probably yes. More specifically, the driver uses POST calls to [LAN IP]/YamahaRemoteControl/ctrl. If you see your web interface doing this then very likely yes. Yamaha refers to this feature as a few different things because it has been around for so long but my receivers refer to it simply as "Web Control". As an example, my web interface looks like this:
192.168.1.40 would be the receiver's LAN IP address.