This is a rehash of redloro'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 - #43 by codahq
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.
Just came across and will check it out this weekend. Have you run into any issues in the past month?
I seem to be the only one using it so far. It still has the same limitations it had in ST. I'll probably improve it a little more but it's giving me the functionality I wanted so far. Please let me know how it goes for you.
Couple of questions I'm running into even after reading the entirety of the redloro thread. Perhaps you can educate me..
The redloro thread mentions the use of a dimmer switch when referring to adjusting the volume up or down (not setting up a specific level). How do I do that here?
Buttons in the main zone child device seem to work just fine. Though I can't get any response when clicking a button in the zone B child device. They are both under the same parent device. Did I set up zone B incorrectly? My AVR supports it.
Thanks so much! This will be super helpful if I can get it working!
Yeah, I noticed the volume not working a couple of days ago. The weird thing is I feel like it was working when I started. I must have missed something in later changes. I'll take a look at it tomorrow if I have some downtime. I didn't notice, however, that zone b isn't working as I don't have that setup on any of my receivers. They should both be under the same parent device so that's fine. I'll add some debugging (parameterized) and take over the child app too so I can fix the volume and see if I can figure out the multi-zone issue. Thanks for bringing it to my attention.
So... I've not really had any downtime but I think HE and automation may be an addiction for me. I made some changes (the way I would like volume to behave in HE) which everybody coming from ST may or may not agree with. Try it out and see if it makes sense.
I also added a mess of parameterized logging. It's really unnecessarily chatty when trace logging is turned on. I probably haven't added it in enough places for us to see what's happening with your zones but you can try it.
I have three receivers that support multiple zones. I'll probably just set one up tonight and figure it out if this doesn't return anything helpful.
ha! i'm well on my way there.
Ok cool, i'll play around with it this evening. Thanks again!
lol maybe i am addicted as well. Tried during lunch break but it's no longer creating the child apps. I updated both device codes. Getting this error when attempting:
UnknownDeviceTypeException: Device type 'Yamaha Zone' in namespace 'redloro-smartthings' not found on line 91 (updated)
I have not updated to the latest HE firmware FYI if that matters..
Oh, you're right. I didn't change the parent app to use the new child app. I just assumed that both would already be installed. Let me quickly change that. Sorry! Five minutes.
K, fixed. (Sorry about that. I don't remove my devices when I test because I don't want to redo rooms in Google Home.)
Just happened to discover this thread a few hours ago; really nice to have this working on Hubitat.
Struggled a bit to install (wasn't getting the child devices) as I happened to try it before the latest update, but lo and behold it now is working. Thanks!
Sorry for the delay. THis is now working great! One question though...is there no incremental volume up/down option? Was hoping have some wall-mounted vol up and down buttons. THanks!
Yeah, absolutely. I want it too. I was already in the process of adding it. I'll make it available once it's tested and stable.
Awesome! Will be on the lookout
I recommend everybody update to the latest version of the zone device driver. The receiver driver changed slightly as well buy I don't think the changes were functional; just the logging changed.
On the zone though:
- bunch of fixes for dashboard capability
- fixed a refresh issue with volume
- implemented volume up and down
- changed name of existing setVolume to setDb and freed up setVolume for dashboard controls
- persisted mute and partyMode for use outside of driver (like RM and WebCORE)
- removed music player capabilty because redloro literally implemented NONE of those methods and the driver does not have this functionality anyway
- other various cleanup
This is awesome - thanks so much!
Now for a newbie question... How do I actually use the vol up / down with button controller? I assume something to do with creating a virtual button that somehow maps to a custom command, but I'm not sure where to read up on this.
No virtual button necessary. Install the out-of-box Button Controllers app. Create a custom command for volume up and another custom command for volume down. Use device type Actuator if you can't find the zone anywhere else.
Then choose a device you have paired with buttons and create a button controller using the same app.
There's lots of other ways to do this as well but that's the easiest.
Ah! I had not experimented with that feature yet. Works perfectly across my two v585s now - thank you!!
Another question.. Where can I get some guidance on non-main zone use? I've tried both Zone B and Zone 2 and can't get my v585 to respond - only main zone commands seem to work. Is there something I'm doing wrong here?
Thanks again for the help. Love this release.
I think it's broken. It's on my to-do list to check out. I don't use it. I'll try to look at it soon.