NorthernMan54 / homebridge-yamaha-home

Homebridge plugin for my Yamaha Receiver optimized for use with the Home App and Alexa
26 stars 9 forks source link

Yamaha R-N301 - error plugin #29

Closed posh1982 closed 5 years ago

posh1982 commented 5 years ago

hello! i have a samsung R-N301. i install the last version of plugin, so when I start Homebridge i have this error: Unhandled rejection TypeError: Cannot read property 'YAMAHA_AV' of null at YamahaAVRPlatform. (/usr/lib/node_modules/homebridge-yamaha-home/index.js:240:54) at tryCatcher (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:512:31) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._settlePromise0 (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:614:10) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:694:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Promise._resolveCallback (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:454:14) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:524:17) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._fulfillPromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:669:14) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:695:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Promise._resolveCallback (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:432:57) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:524:17) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._settlePromise0 (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:614:10) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:694:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Promise._resolveCallback (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:432:57) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:524:17) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._settlePromise0 (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:614:10) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:694:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Timeout._onTimeout (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/timers.js:26:46) at ontimeout (timers.js:498:11) at tryOnTimeout (timers.js:323:5) at Timer.listOnTimeout (timers.js:290:5)

can you help me? many thanks

NorthernMan54 commented 5 years ago

Can you install a newer version of the plugin ( I just made some changes ), and include the messages from before the error that are logged along with the error.

Tks

posh1982 commented 5 years ago

hello, I install the plugin, but I have the same error: [2019-4-8 19:51:49] [yamaha-home] Found Yamaha R-N301 - 0E50C083, "Yamaha" [2019-4-8 19:51:49] [yamaha-home] Adding Party Switch Yamaha [2019-4-8 19:51:49] [yamaha-home] WARN: Got multiple systems with ID 0E50C083! Omitting duplicate! Unhandled rejection TypeError: Cannot read property 'YAMAHA_AV' of null at YamahaAVRPlatform. (/usr/lib/node_modules/homebridge-yamaha-home/index.js:229:54) at tryCatcher (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:512:31) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._settlePromise0 (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:614:10) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:694:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Promise._resolveCallback (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:454:14) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:524:17) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._fulfillPromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:669:14) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:695:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Promise._resolveCallback (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:432:57) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:524:17) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._settlePromise0 (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:614:10) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:694:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Promise._resolveCallback (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:432:57) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:524:17) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._settlePromise0 (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:614:10) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:694:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Timeout._onTimeout (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/timers.js:26:46) at ontimeout (timers.js:498:11) at tryOnTimeout (timers.js:323:5) at Timer.listOnTimeout (timers.js:290:5)

some ideas? many thanks

NorthernMan54 commented 5 years ago

Tks for this

Looking at the code, it appears to be failing on the logic to determine if your receiver supports zones ( Which I don’t think it does, I quickly looked at the manual )

To figure this out for sure, I need a DEBUG log from homebridge showing Yamaha device discovery. When using DEBUG mode it will log some very verbose output from your Yamaha and that is what I want to look at.

To start homebridge in DEBUG mode, please use this command line. And if your using systemd or another method to autostart homebridge, please stop the autostart instance first.

DEBUG=* homebridge

On Apr 8, 2019, at 1:55 PM, posh1982 notifications@github.com wrote:

hello, I install the plugin, but I have the same error: [2019-4-8 19:51:49] [yamaha-home] Found Yamaha R-N301 - 0E50C083, "Yamaha" [2019-4-8 19:51:49] [yamaha-home] Adding Party Switch Yamaha [2019-4-8 19:51:49] [yamaha-home] WARN: Got multiple systems with ID 0E50C083! Omitting duplicate! Unhandled rejection TypeError: Cannot read property 'YAMAHA_AV' of null at YamahaAVRPlatform. (/usr/lib/node_modules/homebridge-yamaha-home/index.js:229:54) at tryCatcher (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:512:31) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._settlePromise0 (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:614:10) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:694:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Promise._resolveCallback (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:454:14) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:524:17) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._fulfillPromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:669:14) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:695:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Promise._resolveCallback (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:432:57) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:524:17) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._settlePromise0 (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:614:10) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:694:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Promise._resolveCallback (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:432:57) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:524:17) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._settlePromise0 (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:614:10) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:694:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Timeout._onTimeout (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/timers.js:26:46) at ontimeout (timers.js:498:11) at tryOnTimeout (timers.js:323:5) at Timer.listOnTimeout (timers.js:290:5)

some ideas? many thanks

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/NorthernMan54/homebridge-yamaha-home/issues/29#issuecomment-480937469, or mute the thread https://github.com/notifications/unsubscribe-auth/AS5CmDDToqOLLvxHdtr1LRBgky_46xOvks5ve4KPgaJpZM4cg7ui.

posh1982 commented 5 years ago

many thank I try in debug mode and I have: 2019-4-9 12:02:53] [yamaha-home] Found Yamaha R-N301 - 0E50C083, "Yamaha" [2019-4-9 12:02:53] [yamaha-home] Adding Party Switch Yamaha [2019-4-9 12:02:53] [yamaha-home] WARN: Got multiple systems with ID 0E50C083! Omitting duplicate! [2019-4-9 12:02:53] [Bagno] Bagno - Power from State OFF Yamaha-nodejs getAvailableZones { "YAMAHA_AV": { "$": { "rsp": "GET", "RC": "0" }, "System": [ { "Config": [ { "Model_Name": [ "R-N301" ], "System_ID": [ "0E50C083" ], "Version": [ "1.13/0.05" ], "Feature_Existence": [ { "Main_Zone": [ "1" ], "Tuner": [ "1" ], "Spotify": [ "1" ], "Pandora": [ "0" ], "SERVER": [ "1" ], "NET_RADIO": [ "1" ], "AirPlay": [ "1" ] } ] } ] } ] } } +776ms [2019-4-9 12:02:53] [yamaha-home] DEBUG: Failed getSystemConfig from Luci_zonagiorno-2912, probably just not a Yamaha AVR. [2019-4-9 12:02:53] [yamaha-home] DEBUG: Failed getSystemConfig from Ventola-3422, probably just not a Yamaha AVR. [2019-4-9 12:02:53] [yamaha-home] DEBUG: Failed getSystemConfig from Bagno-6335, probably just not a Yamaha AVR. [2019-4-9 12:02:53] [yamaha-home] DEBUG: Failed getSystemConfig from Stanzetta-6633, probably just not a Yamaha AVR. Yamaha-nodejs getBasicInfo Main_Zone { "YAMAHA_AV": { "$": { "rsp": "GET", "RC": "0" }, "Main_Zone": [ { "Basic_Status": [ { "Power_Control": [ { "Power": [ "Standby" ] } ], "Volume": [ { "Lvl": [ { "Val": [ "40" ], "Exp": [ "0" ], "Unit": [ "" ] } ], "Mute": [ "Off" ] } ], "Input": [ { "Input_Sel": [ "TUNER" ], "Input_Sel_Item_Info": [ { "Param": [ "TUNER" ], "RW": [ "RW" ], "Title": [ "" ], "Icon": [ { "On": [ "/YamahaRemoteControl/Icons/icon067.png" ], "Off": [ "" ] } ], "Src_Name": [ "Tuner" ], "Src_Number": [ "1" ] } ] } ] } ] } ] } } +84ms Unhandled rejection TypeError: Cannot read property 'YAMAHA_AV' of null at YamahaAVRPlatform. (/usr/lib/node_modules/homebridge-yamaha-home/index.js:229:54) at tryCatcher (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:512:31) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._settlePromise0 (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:614:10) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:694:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Promise._resolveCallback (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:454:14) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:524:17) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._fulfillPromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:669:14) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:695:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Promise._resolveCallback (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:432:57) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:524:17) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._settlePromise0 (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:614:10) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:694:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Promise._resolveCallback (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:432:57) at Promise._settlePromiseFromHandler (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:524:17) at Promise._settlePromise (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:569:18) at Promise._settlePromise0 (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:614:10) at Promise._settlePromises (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:694:18) at Promise._fulfill (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/promise.js:638:18) at Timeout._onTimeout (/usr/lib/node_modules/homebridge-yamaha-home/node_modules/bluebird/js/release/timers.js:26:46) at ontimeout (timers.js:498:11) at tryOnTimeout (timers.js:323:5) at Timer.listOnTimeout (timers.js:290:5)

thank you

NorthernMan54 commented 5 years ago

Tks for this

Looking at the output from your receiver, it appears that it doesn't support Zones. And that is causing the plugin to crash. Give me a few days to look into this.

NorthernMan54 commented 5 years ago

Was simpler than I thought, please re-install and try again. As I don't have the same receiver I can't test this, so I'm can't be sure if there aren't other issues. If it does have further errors, please include a debug log again.

Tks

posh1982 commented 5 years ago

many thanks NortherMan54 for your help! I can try to explane my situation: with thi config: { "platform": "yamaha-home", "play_volume": -48, "setMainInputTo": "tuner", "show_input_name": "yes", "party_switch": "no", "inputs_as_accessories":{ "R-N301 C4505A": { "name":"Raspberry", "setInputTo": "HDMI1", "set_default_volume": -49

    }
  },
  "manual_addresses": {
      "Yamaha": "192.168.1.11"
  }
}

I haven't errors in homebridge! but I have only the "FAN" icon and I can only switch on/off the N301. if I swtich the fan at 100% the N301 power on, if I swtich the fan at 0% the N301 power off. I can't controll the volume and I can't switch (for example) to tuner to airplay or source1/2/3. in this moment I only power on/off. while be wonderfull if in future will possible to switch tuner to airplay or source1/2/3 and controll the volume.

other test: with "party_switch": "YES" or "R-N301 C4505A": {

    }

the homebridge have error.

many thanks

NorthernMan54 commented 5 years ago

I added a new config parameter called nozones, please add to your config.json this

"nozones": true

Volume should be working afterwards, if not I'm stuck

posh1982 commented 5 years ago

hello, with "platform": "yamaha-home", "play_volume": -48, "setMainInputTo": "tuner", "show_input_name": "yes", "nozones": true, "inputs_as_accessories":{ "R-N301 C4505A": {

    }
  },
  "manual_addresses": {
      "Yamaha": "192.168.1.11"
  }

I have an icon switch on/off (work) and an icon fan that turn on/off but the volume don't work.

many thanks

NorthernMan54 commented 5 years ago

Okay with having the actual receiver I'm stuck now as yours is works slightly different than mine. Unless someone with this model can look at why the commands are failing with the actual receiver, and can grab the working XML messages from the Yamaha WebUI I'm stuck.

NorthernMan54 commented 5 years ago

Did you try this plugin?

https://github.com/ACDR/homebridge-yamaha-avr

posh1982 commented 5 years ago

hello! I just try... don't work! many thanks

NorthernMan54 commented 5 years ago

Tks for the update