Yamahareceiver Binding problems

Afaik the addon can only be upgraded as long as it matches the OH version (2.3.0 addon - 2.3.0 OH). I hope someone will double check that statement.

There are good reasons to move to the latest version. I am also in the middle of other changes and improvements that will ultimately be available as 2.4.0-SNAPSHOT (since the stable 2.3.0 has already been released few weeks ago).

Same behaviour after update to 2.3.0:

2018-06-10 00:40:21.330 [ome.event.ItemCommandEvent] - Item ‘Yamaha_Input’ received command HDMI_1
2018-06-10 00:40:21.334 [vent.ItemStateChangedEvent] - Yamaha_Input changed from AUDIO1 to HDMI_1
2018-06-10 00:40:21.457 [vent.ItemStateChangedEvent] - Yamaha_Input changed from HDMI_1 to AUDIO1
2018-06-10 00:40:25.708 [ome.event.ItemCommandEvent] - Item ‘Yamaha_Input’ received command HDMI_2
2018-06-10 00:40:25.714 [vent.ItemStateChangedEvent] - Yamaha_Input changed from AUDIO1 to HDMI_2
2018-06-10 00:40:25.840 [vent.ItemStateChangedEvent] - Yamaha_Input changed from HDMI_2 to AUDIO1

Another problem is AirPlay. To set it, it should be “AirPlay”, but looks like from AVR come value “AIRPLAY”:

2018-06-10 00:40:21.330 [ome.event.ItemCommandEvent] - Item ‘Yamaha_Input’ received command HDMI_1
2018-06-10 00:40:21.334 [vent.ItemStateChangedEvent] - Yamaha_Input changed from AUDIO1 to HDMI_1
2018-06-10 00:40:21.457 [vent.ItemStateChangedEvent] - Yamaha_Input changed from HDMI_1 to AUDIO1
2018-06-10 00:40:25.708 [ome.event.ItemCommandEvent] - Item ‘Yamaha_Input’ received command HDMI_2
2018-06-10 00:40:25.714 [vent.ItemStateChangedEvent] - Yamaha_Input changed from AUDIO1 to HDMI_2
2018-06-10 00:40:25.840 [vent.ItemStateChangedEvent] - Yamaha_Input changed from HDMI_2 to AUDIO1

P.s. Can I see somewhere else version of binding itself? May be old version left.

This is odd. I have a feeling you still have the old binding. Try doing these checks:

  1. Make sure you don’t have a custom addon JAR under /addons folder.
  2. In Paper UI check if the receiver thing has the input mapping (only the new one has).
  3. Enable trace logging to see what is going on. Then check if you get log statements from InputConverterXML in openhab.log when you change input source.
  4. Not sure how did you upgrade, but would be good to have a clean install (or at least remove folders tmp, kar, cache from /userdata).

I tried “AV1”, “AV2” from Paper UI and it’s help.

I expecting weird problem with manual binding installation. What I did:

  1. Uninstall yamaha binding at paper ui.
  2. Put downloaded jar into /usr/share/openhab2/addons/

But nothing happened. What I should expect? May be needed some additional configuration in files or via UI?

Another user had a similar problem where OH was not picking up the custom binding. I advise to see how he managed to solve this issue.

It fixed somehow after a couple of tries. Don’t know what it was.

Pull request here:

Hello @zarusz I have an issue with the Yamaha binding. When the AVR goes offline for more than a few hours, I need to go into PaperUI and update the thing before it comes back online.

Known issue? Im using this version:

│ Active │ 80 │ 2.3.0.201806201708 │ YamahaReceiver Binding

Hi, I never heard nor observed such an issue.

What OH version are you using (stable/snapshot)?
Are you using my custom build JAR for 2.3.0 (my dropbox link) or is it the official 2.3.0?
Sending me the logs just after it goes offline might help (the openhab.log) to diagnose the issue.

Hi Tomasz, where can I find your Yamaha dropbox binding? Ive got 2.3.0 and no party mode. I had Pavel do the install originally now im attempting it myself :wink:

Hi Kris, The dropbox folder I was referring to is here.

My changes have been already incorporated into the official OH 2.4.0-SNAPSHOT versions, so if you upgrade OH to latest unstable the yamaha addon should have all my changes (including party mode). I recommend you take this approach. My dropbox folder was only used interim while community users test out the features and compatibility - I no longer support that interim version and only leave it for reference.

1 Like

Hi Tomasz, understood. Seems I need to upgrade to 2.4.0! scared face

@zarusz I updated to 2.4 snapshot

It appears to have brought everything online but nothing works. I assume because my linking isnt correct.

My items file was like this:

/* Switches for Yamaha AVR */
Switch      Yamaha_Power                "Power [%s]"                <switch>
Switch      Yamaha_PartyMode            "Party mode [%s]"           <switch>
Switch      Yamaha_PartyModeMute        "Party mode mute [%s]"      <soundvolume_mute>
Dimmer      Yamaha_PartyModeVolume      "Party mode volume []"      <soundvolume>
Switch      Yamaha_PartyMode_Toggle     "Party mode toggle [%s]"    <switch>


Dimmer      Zone_1_Volume               "Volume [%.1f %%]"          <soundvolume>
Switch      Zone_1_Mute                 "Mute [%s]"                 <soundvolume_mute>
Number      Zone_1_Dialogue_Level       "Dialogue Level [%d]"       <soundvolume>
String      Zone_1_Input                "Input [%s]"                <video>
String      Zone_1_Surround             "Surround [%s]"             <video>
String      Zone_1_Scene                "Scene []"                  <video>

String      Zone_1_Playback                 "[]"                    <video>
String      Zone_1_Playback_Station         "Station [%s]"          <video>
String      Zone_1_Playback_Artist          "Artist [%s]"           <video>
String      Zone_1_Playback_Album           "Album [%s]"            <video>
String      Zone_1_Playback_Song            "Song [%s]"             <video>

And my PaperUI looks like this, am I right in saying I need to change my items file somehow?

Thankyou

Yes, it looks like you either need to link the items to the zone thing channels (via PaperUI) or link it manually like in the example from the binding documentation. I recommend to the latter as it will keep the linkage in your .items file and you won’t have to repeat this linking in between OH reinstalls.

Hi Tomasz,

Ive played around and am not getting anywhere. I’ve always used an items file for definitions, and this is the file that was working great on OH 2.3 and your Dropbox JAR file .

I’ve now moved to OH2.4 Snapshot with binding

 233 │ Active   │  80 │ 2.4.0.201808271627     │ YamahaReceiver Binding

I can see the Main Zone and the other Zones added as THINGS, with the Scenes & Party mode channels.

Can you help?

Thanks!

/* Switches for Yamaha AVR */
Switch      Yamaha_Power                "Power [%s]"                <switch>
Switch      Yamaha_PartyMode            "Party mode [%s]"           <switch>
Switch      Yamaha_PartyModeMute        "Party mode mute [%s]"      <soundvolume_mute>
Dimmer      Yamaha_PartyModeVolume      "Party mode volume []"      <soundvolume>
Switch      Yamaha_PartyMode_Toggle     "Party mode toggle [%s]"    <switch>


Dimmer      Zone_1_Volume               "Volume [%.1f %%]"          <soundvolume>
Switch      Zone_1_Mute                 "Mute [%s]"                 <soundvolume_mute>
Number      Zone_1_Dialogue_Level       "Dialogue Level [%d]"       <soundvolume>
String      Zone_1_Input                "Input [%s]"                <video>
String      Zone_1_Surround             "Surround [%s]"             <video>
String      Zone_1_Scene                "Scene []"                  <video>

String      Zone_1_Playback                 "[]"                    <video>
String      Zone_1_Playback_Station         "Station [%s]"          <video>
String      Zone_1_Playback_Artist          "Artist [%s]"           <video>
String      Zone_1_Playback_Album           "Album [%s]"            <video>
String      Zone_1_Playback_Song            "Song [%s]"             <video>
String      Zone_1_Playback_Song_Image      "[]"                    <video>


Dimmer      Zone_2_Volume               "Volume [%.1f %%]"          <soundvolume>
Switch      Zone_2_Mute                 "Mute [%s]"                 <soundvolume_mute>
Number      Zone_2_Dialogue_Level       "Dialogue Level [%d]"       <soundvolume>
String      Zone_2_Input                "Input [%s]"                <video>
String      Zone_2_Surround             "Surround [%s]"             <video>
String      Zone_2_Scene                "Scene []"                  <video>

String      Zone_2_Playback                 "[]"                    <video>
String      Zone_2_Playback_Station         "Station [%s]"          <video>
String      Zone_2_Playback_Artist          "Artist [%s]"           <video>
String      Zone_2_Playback_Album           "Album [%s]"            <video>
String      Zone_2_Playback_Song            "Song [%s]"             <video>
String      Zone_2_Playback_Song_Image      "[]"                    <video>


Dimmer      Zone_3_Volume               "Volume [%.1f %%]"          <soundvolume>
Switch      Zone_3_Mute                 "Mute [%s]"                 <soundvolume_mute>
Number      Zone_3_Dialogue_Level       "Dialogue Level [%d]"       <soundvolume>
String      Zone_3_Input                "Input [%s]"                <video>
String      Zone_3_Surround             "Surround [%s]"             <video>
String      Zone_3_Scene                "Scene []"                  <video>

String      Zone_3_Playback                 "[]"                    <video>
String      Zone_3_Playback_Station         "Station [%s]"          <video>
String      Zone_3_Playback_Artist          "Artist [%s]"           <video>
String      Zone_3_Playback_Album           "Album [%s]"            <video>
String      Zone_3_Playback_Song            "Song [%s]"             <video>
String      Zone_3_Playback_Song_Image      "[]"                    <video>


Dimmer      Zone_4_Volume               "Volume [%.1f %%]"          <soundvolume>
Switch      Zone_4_Mute                 "Mute [%s]"                 <soundvolume_mute>
Number      Zone_4_Dialogue_Level       "Dialogue Level [%d]"       <soundvolume>
String      Zone_4_Input                "Input [%s]"                <video>
String      Zone_4_Surround             "Surround [%s]"             <video>
String      Zone_4_Scene                "Scene []"                  <video>

String      Zone_4_Playback                 "[]"                    <video>
String      Zone_4_Playback_Station         "Station [%s]"          <video>
String      Zone_4_Playback_Artist          "Artist [%s]"           <video>
String      Zone_4_Playback_Album           "Album [%s]"            <video>
String      Zone_4_Playback_Song            "Song [%s]"             <video>
String      Zone_4_Playback_Song_Image      "[]"                    <video>

I see this in the log frequently


09:40:18.960 [INFO ] [smarthome.event.ThingUpdatedEvent    ] - Thing 'yamahareceiver:zone:9ab0c000_f668_11de_9976_ac44f242f485:Main_Zone' has been updated.
09:40:18.996 [INFO ] [smarthome.event.ThingUpdatedEvent    ] - Thing 'yamahareceiver:zone:9ab0c000_f668_11de_9976_ac44f242f485:Zone_4' has been updated.
09:40:19.013 [INFO ] [smarthome.event.ThingUpdatedEvent    ] - Thing 'yamahareceiver:zone:9ab0c000_f668_11de_9976_ac44f242f485:Zone_3' has been updated.
09:40:19.021 [INFO ] [smarthome.event.ThingUpdatedEvent    ] - Thing 'yamahareceiver:zone:9ab0c000_f668_11de_9976_ac44f242f485:Zone_2' has been updated.

Your items in the items file have no binding
Remove the link in the paper UI and use the text files like this (taken from the example in the binding doc)
You can copy and paste the channels from the paperUI

Switch      Yamaha_Power           "Power [%s]"                <switch>             { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#power" }
Dimmer      Yamaha_Volume          "Volume [%.1f %%]"          <soundvolume>        { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#volume" }
Switch      Yamaha_Mute            "Mute [%s]"                 <soundvolume_mute>   { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#mute" }
String      Yamaha_Input           "Input [%s]"                <video>              { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#input" }
String      Yamaha_Surround        "Surround [%s]"             <video>              { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#surroundProgram" }
String      Yamaha_Scene           "Scene []"                  <video>              { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#scene" }
Switch      Yamaha_Dialogue_Level  "Dialogue Level [%d]"       <soundvolume>        { channel="yamahareceiver:zone:96a40ba9:Main_Zone:zone_channels#dialogueLevel" }

Switch      Yamaha_PartyMode       "Party mode [%s]"           <switch>             { channel="yamahareceiver:yamahaAV:96a40ba9:party_mode" }
Switch      Yamaha_PartyModeMute   "Party mode mute [%s]"      <soundvolume_mute>   { channel="yamahareceiver:yamahaAV:96a40ba9:party_mode_mute" }
Dimmer      Yamaha_PartyModeVolume "Party mode volume []"      <soundvolume>        { channel="yamahareceiver:yamahaAV:96a40ba9:party_mode_volume" }

After you done that, clear the cache and restart OH

They aren’t meant to Vincent :frowning:

You only do that if you want manual linking…

Yes, but obviously your linking via PaperUI is not working so it may be worth going the manual route.
It’s better in the long term regardless

Yep, so what I’ve done is deleted the things. Turned OH auto linking off. And then unlinked things and now relinking them manually.

Seems linking is very problematic!