foxthefox / ioBroker.musiccast

ioBroker Yamaha MusicCast adapter
MIT License
12 stars 6 forks source link

Adapter crashing when adding MC link source #207

Closed realwax closed 1 year ago

realwax commented 1 year ago

Hi,

In earlier version it worked. Updated to the newest 1.0.6 which leads my JS script to crash after updating e.g musiccast.0.WX-030_02AF5223.main.add_to_group updated with "10.0.0.5" which is my Yamaha RX2070 source for the MC WX 030 target. Worked until now...

Thank you

`musiccast.0 2022-10-05 18:48:35.864 error Unexpected token o in JSON at position 1
musiccast.0 2022-10-05 18:48:35.863 error SyntaxError: Unexpected token o in JSON at position 1 at JSON.parse () at /opt/iobroker/node_modules/iobroker.musiccast/main.js:477:18 at processTicksAndRejections (node:internal/process/task_queues:96:5) at async Musiccast.onStateChange (/opt/iobroker/node_modules/iobroker.musiccast/main.js:476:8)
musiccast.0 2022-10-05 18:48:35.861 error unhandled promise rejection: Unexpected token o in JSON at position 1
musiccast.0 2022-10-05 18:48:35.859 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
musiccast.0 2022-10-05 18:45:04.625 error Unexpected token o in JSON at position 1

`

realwax commented 1 year ago

I completely removed the adapter and did a fresh install and configure. No change. Sadly, I can't reveert to earlier version since some dependencies seem to have changed.
Thanks for fixing!

foxthefox commented 1 year ago

just now I have no idea what is differently return from the client. Did you update the firmware of the musiccast device?

Most likely I need informations on manually sending the commands in a browser, but before I have to check the documentation for the calls.

realwax commented 1 year ago

just now I have no idea what is differently return from the client. Did you update the firmware of the musiccast device?

Most likely I need informations on manually sending the commands in a browser, but before I have to check the documentation for the calls.

I own three devices RX-2070 (my receiver and source for multiroom distribution) a WX-30 and a WX-51. On the latter I updated recently. On the WX.-30 not.

I do not manage to downgrade via npm since there are dependencies preventing that?!? Otherwise I could debug more. Please let me know what I can provide you with...

Nothing change on my side. Let me know what debugs I can send you. For now I hot fixed it with the Alexa musiccast skill and Alexa2 textcommand ;)

`musiccast.0 2022-10-07 10:49:28.961 info terminating
musiccast.0 2022-10-07 10:49:28.957 error Unexpected token o in JSON at position 1
musiccast.0 2022-10-07 10:49:28.956 error SyntaxError: Unexpected token o in JSON at position 1 at JSON.parse () at /opt/iobroker/node_modules/iobroker.musiccast/main.js:477:18 at runMicrotasks () at processTicksAndRejections (node:internal/process/task_queues:96:5) at async Musiccast.onStateChange (/opt/iobroker/node_modules/iobroker.musiccast/main.js:476:8)
musiccast.0 2022-10-07 10:49:28.955 error unhandled promise rejection: Unexpected token o in JSON at position 1
musiccast.0 2022-10-07 10:49:28.954 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
musiccast.0 2022-10-07 10:49:28.931 debug clientIP 10.0.0.12ID 0669df0f031fb83e345267a9679bbc6a
musiccast.0 2022-10-07 10:49:28.928 debug IP configured : 10.0.0.12 for UID 02AF5223
musiccast.0 2022-10-07 10:49:28.928 debug config items : [{"ip":"10.0.0.5","type":"RX-A2070","uid":"0B23E7D3","sid":"","name":"Wohnzimmer"},{"ip":"10.0.0.9","type":"WX-051","uid":"0D555663","sid":"","name":"Schlafzimmer"},{"ip":"10.0.0.12","type":"WX-030","uid":"02AF5223","sid":"","name":"Küche"}]
musiccast.0 2022-10-07 10:49:28.928 debug device with uid = 02AF5223
musiccast.0 2022-10-07 10:49:28.927 info MusicCast: musiccast.0.WX-030_02AF5223.main.add_to_group identified for command with 10.0.0.5
musiccast.0 2022-10-07 10:49:28.927 info state musiccast.0.WX-030_02AF5223.main.add_to_group changed: 10.0.0.5 (ack = false)

`

realwax commented 1 year ago

Sidenote: I does not make any difference if I put into musiccast.0.WX-030_02AF5223.main.add_to_group a valid ip address like 10.0.0.5 as you can see in my setup or just write "test" into the field the adapter crashes....

foxthefox commented 1 year ago

it is strange that a downgrade is not possible. the only dependency is the musiccast API, which I wrote. In the past I did non tweak around at the pairing of the devices, which was the older version before of upgrade?

realwax commented 1 year ago

This is what I get when trying to downgrade: `$ iobroker upgrade musiccast@1.0.5 --debug

Update musiccast from @1.0.6 to @1.0.5

NPM version: 8.15.0

Installing iobroker.musiccast@1.0.5... (System call)

npm ERR! code ETARGET

npm ERR! notarget a package version that doesn't exist.

npm ERR! A complete log of this run can be found in:npm ERR! /home/iobroker/.npm/_logs/2022-10-14T09_30_22_670Z-debug-0.log

Update "system.adapter.musiccast.1"

upload [4] musiccast.admin /opt/iobroker/node_modules/iobroker.musiccast/admin/admin.d.ts admin.d.ts video/mp2t

upload [3] musiccast.admin /opt/iobroker/node_modules/iobroker.musiccast/admin/index_m.html index_m.html text/html

upload [2] musiccast.admin /opt/iobroker/node_modules/iobroker.musiccast/admin/musiccast.png musiccast.png image/png

upload [1] musiccast.admin /opt/iobroker/node_modules/iobroker.musiccast/admin/style.css style.css text/css

upload [0] musiccast.admin /opt/iobroker/node_modules/iobroker.musiccast/admin/words.js words.js application/javascript

Process exited with code 0`

realwax commented 1 year ago

Here is the debug log: 22 verbose title npm install iobroker.musiccast@1.0.5 23 verbose argv "install" "--save-exact" "iobroker.musiccast@1.0.5" 24 timing npm:load:setTitle Completed in 6ms 25 timing config:load:flatten Completed in 13ms 26 timing npm:load:display Completed in 18ms 27 verbose logfile logs-max:10 dir:/home/iobroker/.npm/_logs 28 verbose logfile /home/iobroker/.npm/_logs/2022-10-14T09_30_22_670Z-debug-0.log 29 timing npm:load:logFile Completed in 24ms 30 timing npm:load:timers Completed in 0ms 31 timing npm:load:configScope Completed in 0ms 32 timing npm:load Completed in 117ms 33 timing arborist:ctor Completed in 3ms 34 silly logfile start cleaning logs, removing 2 files 35 silly logfile done cleaning log files 36 timing arborist:ctor Completed in 1ms 37 timing arborist:ctor Completed in 0ms 38 timing arborist:ctor Completed in 0ms 39 timing idealTree:init Completed in 7871ms 40 timing idealTree:userRequests Completed in 19ms 41 silly idealTree buildDeps 42 silly fetch manifest iobroker.musiccast@1.0.5 43 http fetch GET 200 https://registry.npmjs.org/iobroker.musiccast 217ms (cache hit) 44 silly placeDep ROOT iobroker.musiccast@ REPLACE for: iobroker.inst@2.0.2 want: 1.0.5 45 timing idealTree:#root Completed in 262ms 46 timing idealTree:node_modules/iobroker.musiccast Completed in 0ms 47 timing idealTree:buildDeps Completed in 268ms 48 timing idealTree:fixDepFlags Completed in 99ms 49 timing idealTree Completed in 8262ms 50 timing command:install Completed in 8291ms 51 verbose type version 52 verbose stack iobroker.musiccast: No matching version found for iobroker.musiccast@1.0.5. 52 verbose stack at module.exports (/usr/lib/node_modules/npm/node_modules/npm-pick-manifest/lib/index.js:209:23) 52 verbose stack at RegistryFetcher.manifest (/usr/lib/node_modules/npm/node_modules/pacote/lib/registry.js:125:22) 52 verbose stack at async Arborist.[nodeFromEdge] (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:1108:19) 52 verbose stack at async Arborist.[buildDepStep] (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:976:11) 52 verbose stack at async Arborist.buildIdealTree (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:218:7) 52 verbose stack at async Promise.all (index 1) 52 verbose stack at async Arborist.reify (/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:154:5) 52 verbose stack at async Install.exec (/usr/lib/node_modules/npm/lib/commands/install.js:145:5) 52 verbose stack at async module.exports (/usr/lib/node_modules/npm/lib/cli.js:78:5) 53 verbose cwd /opt/iobroker 54 verbose Linux 5.15.61-v7+ 55 verbose node v16.17.1 56 verbose npm v8.15.0 57 error code ETARGET 58 error notarget No matching version found for iobroker.musiccast@1.0.5. 59 error notarget In most cases you or one of your dependencies are requesting 59 error notarget a package version that doesn't exist. 60 verbose exit 1 61 timing npm Completed in 8794ms 62 verbose unfinished npm timer reify 1665739823148 63 verbose unfinished npm timer reify:loadTrees 1665739823163 64 verbose code 1 65 error A complete log of this run can be found in: 65 error /home/iobroker/.npm/_logs/2022-10-14T09_30_22_670Z-debug-0.log

PastCoder commented 1 year ago

musiccast.0 2022-10-05 18:48:35.864 error Unexpected token o in JSON at position 1 musiccast.0 2022-10-05 18:48:35.863 error SyntaxError: Unexpected token o in JSON at position 1 at JSON.parse () at /opt/iobroker/node_modules/iobroker.musiccast/main.js:477:18 at processTicksAndRejections (node:internal/process/task_queues:96:5) at async Musiccast.onStateChange (/opt/iobroker/node_modules/iobroker.musiccast/main.js:476:8) musiccast.0 2022-10-05 18:48:35.861 error unhandled promise rejection: Unexpected token o in JSON at position 1 musiccast.0 2022-10-05 18:48:35.859 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). musiccast.0 2022-10-05 18:45:04.625 error Unexpected token o in JSON at position 1

I have the same behavior as described by realwax in this issue. I used before 0.2.2 and did not change the implementation of my scripts.

foxthefox commented 1 year ago

I did not have so much time this week, but now I managed it, to check the code. you can test the version 1.0.7 from github and please report if the error is gone

you can do me a favour with hitting the button "JSON for Developer" and sending me the response from the pop-up window.

realwax commented 1 year ago

Thank you @foxthefox for the fix. It's not crashing and working and connecting rooms: Nevertheless I attached the logs. I found a minor issue while testing, that would earn his own thread.... After connecting (adding) two rooms and after a while removing one of them, the sounds broadcast stops on the remaining rooms while musiccast shows the remaining room is still connected. (so transmission stops) If I do that via musiccast app the room left connected still has sound. I can live with that because in most cases i i disconnect, I disconnect them all. For the sake of testing I need to mention it. Let me know I a further issue is appreciated...

Thanks for your work and quick fix ! Kind regards Wolfgang

Install debug: $ iobroker url foxthefox/ioBroker.musiccast --host iobrokerQNAP --debug

install foxthefox/ioBroker.musiccast

NPM version: 8.15.0

Installing foxthefox/ioBroker.musiccast... (System call)

npm WARN deprecated dgram@1.0.1: npm is holding this package for security reasons. As it's a core Node module, we will not transfer it over to other users. You may safely remove the package from your dependencies.

npm WARN deprecated crypto@1.0.1: This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in.

npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142

npm WARN deprecated har-validator@5.1.5: this library is no longer supported

npm WARN deprecated json3@3.3.2: Please use the native JSON object instead of JSON 3

npm WARN deprecated querystring@0.2.1: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.

npm WARN deprecated node-inspect@2.0.0: This module is part of Node.js core and does not need to be installed separately. It is now unmaintained.

npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)

npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)

npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)

npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.

npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.

npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.

npm WARN deprecated uuid@3.3.2: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.

npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142

npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)

npm WARN deprecated axios@0.19.2: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410

removed 647 packages, and changed 872 packages in 4m53 packages are looking for funding run npm fund for details

upload [4] musiccast.admin /opt/iobroker/node_modules/iobroker.musiccast/admin/admin.d.ts admin.d.ts video/mp2t

upload [3] musiccast.admin /opt/iobroker/node_modules/iobroker.musiccast/admin/index_m.html index_m.html text/html

upload [2] musiccast.admin /opt/iobroker/node_modules/iobroker.musiccast/admin/musiccast.png musiccast.png image/png

upload [1] musiccast.admin /opt/iobroker/node_modules/iobroker.musiccast/admin/style.css style.css text/css

upload [0] musiccast.admin /opt/iobroker/node_modules/iobroker.musiccast/admin/words.js words.js application/javascript

Update "system.adapter.musiccast.0"

Process exited with code 0

JSON for the DEV: [[{"Küche":{"system":{"getDeviceInfo":{"response_code":0,"model_name":"WX-030","destination":"BG","device_id":"00A0DEF88C7F","system_id":"02AF5223","system_version":3.17,"api_version":2.08,"netmodule_generation":1,"netmodule_version":"1924 ","netmodule_checksum":"EAD51507","operation_mode":"normal","update_error_code":"00000000"},"getNetworkStatus":{"response_code":0,"network_name":"Küche","connection":"wireless_lan","dhcp":true,"ip_address":"10.0.0.12","subnet_mask":"255.255.255.0","default_gateway":"10.0.0.1","dns_server_1":"10.0.0.1","dns_server_2":"0.0.0.0","wireless_lan":{"ssid":"W20KHPWaX","type":"wpa2-psk(aes)","key":"","ch":13,"strength":58},"wireless_direct":{"ssid":"WX-030 F88C7F","type":"none","key":""},"musiccast_network":{"ready":true,"device_type":"standard","child_num":0,"ch":0,"initial_join_running":false},"mac_address":{"wired_lan":"00A0DEF88C7F","wireless_lan":"50338B2B5E6D","wireless_direct":"50338B2B5E6E"},"airplay_pin":""},"getFuncStatus":{"response_code":0,"auto_power_standby":true},"getLocationInfo":{"response_code":0,"id":"5d5c1b0f78dd41d293d8b1dccef50e9c","name":"Zuhause","stereo_pair_status":"none","zone_list":{"main":true}},"getFeatures":{"response_code":0,"system":{"func_list":["wired_lan","wireless_lan","wireless_direct","network_standby","auto_power_standby","bluetooth_tx_setting","airplay","stereo_pair","network_reboot"],"zone_num":1,"input_list":[{"id":"napster","distribution_enable":true,"rename_enable":false,"account_enable":true,"play_info_type":"netusb"},{"id":"spotify","distribution_enable":true,"rename_enable":false,"account_enable":false,"play_info_type":"netusb"},{"id":"juke","distribution_enable":true,"rename_enable":false,"account_enable":true,"play_info_type":"netusb"},{"id":"tidal","distribution_enable":true,"rename_enable":false,"account_enable":true,"play_info_type":"netusb"},{"id":"deezer","distribution_enable":true,"rename_enable":false,"account_enable":true,"play_info_type":"netusb"},{"id":"airplay","distribution_enable":false,"rename_enable":false,"account_enable":false,"play_info_type":"netusb"},{"id":"mc_link","distribution_enable":false,"rename_enable":true,"account_enable":false,"play_info_type":"netusb"},{"id":"server","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"netusb"},{"id":"net_radio","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"netusb"},{"id":"bluetooth","distribution_enable":true,"rename_enable":false,"account_enable":false,"play_info_type":"netusb"}]},"zone":[{"id":"main","func_list":["power","sleep","volume","mute","equalizer","signal_info","prepare_input_change","link_control","link_audio_quality"],"input_list":["napster","spotify","juke","tidal","deezer","airplay","mc_link","server","net_radio","bluetooth"],"equalizer_mode_list":["manual"],"link_control_list":["speed","standard","stability"],"link_audio_quality_list":["compressed","uncompressed"],"range_step":[{"id":"volume","min":0,"max":60,"step":1},{"id":"equalizer","min":-10,"max":10,"step":1}]}],"netusb":{"func_list":["recent_info","play_queue","mc_playlist","streaming_service_use"],"preset":{"num":40},"recent_info":{"num":40},"play_queue":{"size":200},"mc_playlist":{"size":200,"num":5},"net_radio_type":"airable","pandora":{"sort_option_list":["date","alphabet"]},"siriusxm":{"api_type":"everest"}},"distribution":{"version":2,"compatible_client":[2],"client_max":9,"server_zone_list":["main"]},"ccs":{"supported":true}}},"dist":{"getFeatures":{"response_code":0,"group_id":"00000000000000000000000000000000","group_name":"(Linked) Küche","role":"client","server_zone":"main","client_list":[]}},"netusb":{"getPlayInfo":{"response_code":0,"input":"mc_link","play_queue_type":"system","playback":"stop","repeat":"off","shuffle":"off","play_time":0,"total_time":0,"artist":"","album":"","track":"","albumart_url":"","albumart_id":3668,"usb_devicetype":"unknown","auto_stopped":false,"attribute":0,"repeat_available":[],"shuffle_available":[]},"getPresetInfo":{"response_code":0,"preset_info":[{"input":"server","text":"Caress","attribute":30},{"input":"server","text":"Morning Haze (Original Mix)","attribute":30},{"input":"server","text":"LA1","attribute":30},{"input":"server","text":"Hawk moth mirage","attribute":30},{"input":"server","text":"Accede","attribute":30},{"input":"server","text":"Euphotic (live version)","attribute":30},{"input":"server","text":"RCA (+)","attribute":30},{"input":"server","text":"Solis Ortus","attribute":30},{"input":"server","text":"These years came to be","attribute":30},{"input":"server","text":"A Place All My Own","attribute":30},{"input":"server","text":"Out Of The Blue","attribute":30},{"input":"server","text":"Sound Of Ligeia","attribute":30},{"input":"server","text":"Via Lactea","attribute":30},{"input":"server","text":"Turn This Around","attribute":30},{"input":"server","text":"Salvation","attribute":30},{"input":"server","text":"Clear Sky","attribute":30},{"input":"server","text":"Dreamlore","attribute":30},{"input":"server","text":"Million Nights (Synkro Remix)","attribute":30},{"input":"server","text":"Elysia's Heart","attribute":30},{"input":"server","text":"Between Us (Direct Remix)","attribute":30},{"input":"server","text":"Focus Mind and Body","attribute":30},{"input":"server","text":"Street Spirit (Fade Out)","attribute":30},{"input":"server","text":"Somebody That I Used to Know","attribute":30},{"input":"server","text":"Need You (Right Now)","attribute":30},{"input":"server","text":"Belly Breathing","attribute":30},{"input":"server","text":"Carefree","attribute":30},{"input":"server","text":"Canção","attribute":30},{"input":"server","text":"Soul Food","attribute":30},{"input":"server","text":"Leaves covered by snow","attribute":30},{"input":"server","text":"Love U More","attribute":30},{"input":"server","text":"Gamemaster (Mandrake Chilled remix)","attribute":30},{"input":"server","text":"People Want to Be Needed (Sunrise mix)","attribute":30},{"input":"server","text":"Migratory Birds","attribute":30},{"input":"server","text":"Intro","attribute":30},{"input":"server","text":"Metrosat 4 (Remastered)","attribute":30},{"input":"server","text":"Eleutheria","attribute":30},{"input":"server","text":"A World","attribute":30},{"input":"server","text":"Alpine Grooves Easy Beats 3 (Del Monte Mix - Continuous DJ Mix)","attribute":30},{"input":"server","text":"Voyager EP (Full Mix)","attribute":30},{"input":"server","text":"Another World EP (Full Mix)","attribute":30}],"func_list":["clear","move"]},"getSettings":{"response_code":0},"getRecentInfo":{"response_code":0,"recent_info":[{"input":"server","text":"Connecting The Dots (Alex Paterson Mix)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Ambient,*20Psybient,*20Psychill/Alex*20Paterson/Connecting*20The*20Dots*20*5b2021*5d/01*20Alex*20Paterson*20-*20Connecting*20The*20Dots*20(Alex*20Paterson*20Mix).flac/$!picture-488-264159.jpg","play_count":2,"attribute":30},{"input":"server","text":"Desert Mule","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Instrumental,Touching/Nils*20Frahm/F.S.*20Blumm*20*26*20Nils*20Frahm/2X1*3d4*20(2021)/01*20Desert*20Mule.flac/$!picture-2182-94643.jpg","play_count":2,"attribute":30},{"input":"server","text":"Molecular Cloud","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Ambient,*20Psybient,*20Psychill/Alwoods/Stardust*20(2017)/02*20Alwoods*20-*20Molecular*20Cloud.mp3/$!picture-unsync-1530-92233.jpg","play_count":1,"attribute":30},{"input":"server","text":"Dreams of Agra [24]","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Ambient,*20Psybient,*20Psychill/Atati/Paths*20of*20the*20Highlands*20*5b24Bits*5d*20*5b2017*5d/01*20Dreams*20of*20Agra*20*5b24*5d.mp3/$!picture-441-1796305.jpg","play_count":1,"attribute":30},{"input":"server","text":"Strangers Forever","albumart_url":"http://10.0.0.8:1410/%25/09bcbcbedfb8c98d59ebe84af218b81e/Cover.jpg","play_count":1,"attribute":30},{"input":"server","text":"Cazenove","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic/Bicep/Isles*20(2021)/02*20Bicep*20-*20Cazenove.flac/$!picture-980-68612.jpg","play_count":1,"attribute":30},{"input":"server","text":"Licidana","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Intelligent*20Dance*20Music,*20Indietronic/Apparat/Soundtracks_*20Capri-Revolution*20(2020)/04*20Licidana.flac/$!picture-1714-49576.jpg","play_count":1,"attribute":30},{"input":"server","text":"Neruvola","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Intelligent*20Dance*20Music,*20Indietronic/Apparat/Soundtracks_*20Capri-Revolution*20(2020)/03*20Neruvola.flac/$!picture-1624-49576.jpg","play_count":1,"attribute":30},{"input":"server","text":"Plidoh","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Intelligent*20Dance*20Music,*20Indietronic/Apparat/Soundtracks_*20Capri-Revolution*20(2020)/02*20Plidoh.flac/$!picture-1658-49576.jpg","play_count":1,"attribute":30},{"input":"server","text":"Silia","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Intelligent*20Dance*20Music,*20Indietronic/Apparat/Soundtracks_*20Capri-Revolution*20(2020)/01*20Silia.flac/$!picture-1693-49576.jpg","play_count":1,"attribute":30},{"input":"server","text":"Passion","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/!Various*20Artists/Lounge*20for*20Lovers*203/1-01*20Nightmares*20on*20Wax*20-*20Passion.mp3/$!picture-unsync-1479-57164.jpg","play_count":1,"attribute":30},{"input":"server","text":"Free From You","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/!Various*20Artists/Sea*20of*20Silence,*20Volume*207/1-01*20Blue*20Chakra*20-*20Free*20From*20You.mp3/$!picture-unsync-1432-44150.jpg","play_count":1,"attribute":30},{"input":"server","text":"Infinite Everywhere","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Downbeat,*20Jazzy,*20Funky,*20TripHop/Eric*20Hilton/Infinite*20Everywhere*20(2020)/01*20Eric*20Hilton*20-*20Infinite*20Everywhere.flac/$!picture-4662-76949.jpg","play_count":2,"attribute":30},{"input":"server","text":"Canção","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Downbeat,*20Jazzy,*20Funky,*20TripHop/!Serie/Chillhop*20Recordings/Chillhop*20Essentials_*20Summer*202020*20(2020)/01*20The*20BREED*20-*20Can*c3*a7*c3*a3o.flac/$!picture-1573-71722.jpg","play_count":3,"attribute":30},{"input":"server","text":"In Undertow","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Synthie*20Pop,*20Dream*20Pop,*20Shoegaze/Alvvays/Antisocialites*20(2017)/01*20In*20Undertow.flac/$!picture-1019-81275.jpg","play_count":3,"attribute":30},{"input":"server","text":"Soul Food","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Downbeat,*20Jazzy,*20Funky,*20TripHop/!Serie/Chillhop*20Recordings/Chillhop*20Essentials_*20Spring*202020*20(2020)/1-01*20Ruck*20P*20-*20Soul*20Food.flac/$!picture-1628-57691.jpg","play_count":1,"attribute":30},{"input":"server","text":"Street Spirit (Fade Out)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/!Various*20Artists/Ministry*20of*20Sound_*20Chilled*20Acoustic/1-01*20Radiohead*20-*20Street*20Spirit*20(Fade*20Out).mp3/$!picture-unsync-1513-47907.jpg","play_count":1,"attribute":30},{"input":"server","text":"Voyager EP (Full Mix)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Instrumental,Touching/We*20Are*20All*20Astronauts/Voyager*20EP*20*5b2020*5d/07*20*20Voyager*20EP*20(Full*20Mix).flac/$!picture-2612-131167.jpg","play_count":3,"attribute":30},{"input":"server","text":"Another World EP (Full Mix)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Instrumental,Touching/We*20Are*20All*20Astronauts/Another*20World*20EP*20*5b2020*5d/06*20*20Another*20World*20EP*20(Full*20Mix).flac/$!picture-2372-78477.jpg","play_count":3,"attribute":30},{"input":"server","text":"Alpine Grooves Easy Beats 3 (Del Monte Mix - Continuous DJ Mix)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Downbeat,*20Jazzy,*20Funky,*20TripHop/!Various*20Artists/Alpine*20Grooves*20Easy*20Beats*203*20(Kristallh*c3*bctte)*20*5b2019*5d/16*20Del*20Monte*20-*20Alpine*20Grooves*20Easy*20Beats*203*20(Del*20Monte*20Mix*20-*20Continuous*20DJ*20Mix).flac/$!picture-88-84250.jpg","play_count":2,"attribute":30},{"input":"server","text":"Another Love","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Instrumental,Touching/We*20Are*20All*20Astronauts/Another*20World*20EP*20*5b2020*5d/01*20*20Another*20Love.flac/$!picture-992-78477.jpg","play_count":1,"attribute":30},{"input":"server","text":"Runatal","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Neofolk,*20Pagan,*20Ritual/Danheim/Runagaldr*20(2018)/01*20Danheim*20*26*20Sigurbodi*20-*20Runatal.flac/$!picture-1758-65004.jpg","play_count":1,"attribute":30},{"input":"server","text":"Ma Rencontre","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/!Serie,*20Mixed*20Genre/FM4*20Sunny*20Side*20Up/FM4*20Sunny*20Side*20Up*2001/01*20Bertrand*20Burgalat*20-*20Ma*20Rencontre.mp3/$!picture-unsync-1635-62600.jpg","play_count":3,"attribute":30},{"input":"deezer","text":"Boys Don't Cry","albumart_url":"https://cdns-images.dzcdn.net:443/images/cover/e06f179b5bd042e46fc0d07108e6b07b/500x500-000000-80-0-0.jpg","play_count":1,"attribute":30},{"input":"deezer","text":"Where Is My Mind?","albumart_url":"https://cdns-images.dzcdn.net:443/images/cover/5223dd8c8306dea95f37508e076e6991/500x500-000000-80-0-0.jpg","play_count":1,"attribute":30},{"input":"deezer","text":"Hurt","albumart_url":"https://cdns-images.dzcdn.net:443/images/cover/3ee70b0cf1729759dbe18934ea34c8c1/500x500-000000-80-0-0.jpg","play_count":1,"attribute":30},{"input":"deezer","text":"Billie Jean","albumart_url":"https://e-cdns-images.dzcdn.net:443/images/cover/24aa42b26933625f23adf719b2bdcd11/500x500-000000-80-0-0.jpg","play_count":1,"attribute":30},{"input":"deezer","text":"Free Fallin' (Live at the Nokia Theatre, Los Angeles, CA - Decem","albumart_url":"https://cdns-images.dzcdn.net:443/images/cover/4132ff1b91411b1efbf4b67d441032f9/500x500-000000-80-0-0.jpg","play_count":1,"attribute":30},{"input":"deezer","text":"California","albumart_url":"https://e-cdns-images.dzcdn.net:443/images/cover/1fe9cd30190643e3dc8daa67838ad448/500x500-000000-80-0-0.jpg","play_count":1,"attribute":30},{"input":"deezer","text":"Blank Space","albumart_url":"https://e-cdns-images.dzcdn.net:443/images/cover/e441d13a3ae5a9844f25b3c683ed30b1/500x500-000000-80-0-0.jpg","play_count":1,"attribute":30},{"input":"deezer","text":"I Kissed a Girl","albumart_url":"https://cdns-images.dzcdn.net:443/images/cover/1a6532cf96e43899019349e9fd790604/500x500-000000-80-0-0.jpg","play_count":1,"attribute":30},{"input":"deezer","text":"Everybody Wants to Rule the World","albumart_url":"https://e-cdns-images.dzcdn.net:443/images/cover/3fd19d7d2f7aad5425f0b7c1029efc62/500x500-000000-80-0-0.jpg","play_count":1,"attribute":30},{"input":"deezer","text":"Skinny Love","albumart_url":"https://cdns-images.dzcdn.net:443/images/cover/30e90fc11d605a536a3acada1a6e42f9/500x500-000000-80-0-0.jpg","play_count":1,"attribute":30},{"input":"deezer","text":"you only live once","albumart_url":"https://cdns-images.dzcdn.net:443/images/cover/928de2cf35412663b16eadd03c322017/500x500-000000-80-0-0.jpg","play_count":1,"attribute":30},{"input":"deezer","text":"Creep","albumart_url":"https://cdns-images.dzcdn.net:443/images/cover/e48edca0ebf66a463b867d8a7117d2dd/500x500-000000-80-0-0.jpg","play_count":1,"attribute":30},{"input":"deezer","text":"Dancing in the Dark (Recorded at Deezer, Sao Paulo)","albumart_url":"https://cdns-images.dzcdn.net:443/images/cover/e2572836fe2d7ce6283349014dca01c8/500x500-000000-80-0-0.jpg","play_count":2,"attribute":30},{"input":"deezer","text":"Don't Start Now","albumart_url":"https://e-cdns-images.dzcdn.net:443/images/cover/63b55fc2cbe57a3befb368f3a3694771/500x500-000000-80-0-0.jpg","play_count":2,"attribute":30},{"input":"server","text":"Gamemaster (Mandrake Chilled remix)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/!Various*20Artists/Angels_*20Chill*20Trance*20Essentials*202/1-01*20Lost*20Tribe*20-*20Gamemaster*20(Mandrake*20Chilled*20remix).mp3/$!picture-unsync-1557-52519.jpg","play_count":1,"attribute":30},{"input":"server","text":"Focus Mind and Body","albumart_url":"","play_count":2,"attribute":30},{"input":"server","text":"This Is All I Need","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/!Serie,*20Mixed*20Genre/FM4*20Sunny*20Side*20Up/FM4*20Sunny*20Side*20Up*2001/03*20Gloss*20-*20This*20Is*20All*20I*20Need.mp3/$!picture-unsync-1523-62600.jpg","play_count":2,"attribute":30}]}},"main":{"getStatus":{"response_code":0,"power":"on","sleep":0,"volume":12,"mute":false,"max_volume":60,"input":"mc_link","distribution_enable":false,"equalizer":{"mode":"manual","low":0,"mid":2,"high":3},"link_control":"stability","link_audio_quality":"uncompressed","disable_flags":0},"getSoundProgramList":{"response_code":0,"sound_program_list":[]},"getSignalInfo":{"response_code":0,"audio":{"error":0,"format":"","fs":""}}}}},{"Schlafzimmer":{"system":{"getDeviceInfo":{"response_code":0,"model_name":"WX-051","destination":"G","device_id":"44FE3BF29060","system_id":"0D555663","system_version":1.99,"api_version":2.13,"netmodule_generation":2,"netmodule_version":"1412 ","netmodule_checksum":"BBFEA75D","serial_number":"T350779WY","category_code":6,"operation_mode":"normal","update_error_code":"00000000","update_data_type":0},"getNetworkStatus":{"response_code":0,"network_name":"Schlafzimmer","connection":"wireless_lan","dhcp":true,"ip_address":"10.0.0.9","subnet_mask":"255.255.255.0","default_gateway":"10.0.0.1","dns_server_1":"10.0.0.1","dns_server_2":"0.0.0.0","wireless_lan":{"enable":true,"ssid":"W20KHPWaX5G","type":"wpa2-psk(aes)","key":"","ch":56,"strength":64},"musiccast_network":{"ready":true,"device_type":"standard","child_num":0,"ch":0,"initial_join_running":false,"wlan1_ch":0,"dfs":{"option":true,"radar_ch":0}},"mac_address":{"wired_lan":"44FE3BF29060","wireless_lan":"44FE3BF29061","wireless_direct":"44FE3BF29061"},"airplay_pin":"","ipv6":{"enable":true,"address":"fe80::46fe:3bff:fef2:9061"}},"getFuncStatus":{"response_code":0,"auto_power_standby":true,"dimmer":1},"getLocationInfo":{"response_code":0,"id":"5d5c1b0f78dd41d293d8b1dccef50e9c","name":"Zuhause","zone_list":{"main":true}},"getFeatures":{"response_code":0,"system":{"func_list":["wired_lan","wireless_lan","network_standby","bluetooth_tx_setting","bluetooth_tx_connectivity_type","dfs_option","auto_power_standby","dimmer","airplay","disklavier_settings","background_download","remote_info","network_reboot","system_reboot","analytics"],"zone_num":1,"input_list":[{"id":"napster","distribution_enable":true,"rename_enable":false,"account_enable":true,"play_info_type":"netusb"},{"id":"spotify","distribution_enable":true,"rename_enable":false,"account_enable":false,"play_info_type":"netusb"},{"id":"qobuz","distribution_enable":true,"rename_enable":false,"account_enable":true,"play_info_type":"netusb"},{"id":"tidal","distribution_enable":true,"rename_enable":false,"account_enable":true,"play_info_type":"netusb"},{"id":"deezer","distribution_enable":true,"rename_enable":false,"account_enable":true,"play_info_type":"netusb"},{"id":"amazon_music","distribution_enable":true,"rename_enable":false,"account_enable":true,"play_info_type":"netusb"},{"id":"alexa","distribution_enable":true,"rename_enable":false,"account_enable":false,"play_info_type":"netusb"},{"id":"airplay","distribution_enable":false,"rename_enable":false,"account_enable":false,"play_info_type":"netusb"},{"id":"mc_link","distribution_enable":false,"rename_enable":true,"account_enable":false,"play_info_type":"netusb"},{"id":"server","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"netusb"},{"id":"net_radio","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"netusb"},{"id":"bluetooth","distribution_enable":true,"rename_enable":false,"account_enable":false,"play_info_type":"netusb"},{"id":"digital","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"},{"id":"aux1","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"},{"id":"aux2","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"}],"range_step":[{"id":"dimmer","min":0,"max":2,"step":1}],"bluetooth":{"update_cancelable":true,"tx_connectivity_type_max":3}},"zone":[{"id":"main","func_list":["power","sleep","volume","mute","sound_program","equalizer","signal_info","prepare_input_change","link_control","link_audio_delay"],"input_list":["napster","spotify","qobuz","tidal","deezer","amazon_music","alexa","airplay","mc_link","server","net_radio","bluetooth","digital","aux1","aux2"],"sound_program_list":["standard","bass_booster"],"equalizer_mode_list":["manual"],"link_control_list":["speed","standard","stability"],"link_audio_delay_list":["audio_sync_on","balanced","audio_sync_off"],"range_step":[{"id":"volume","min":0,"max":60,"step":1},{"id":"equalizer","min":-10,"max":10,"step":1}],"ccs_supported":["connected_speaker"]}],"netusb":{"func_list":["recent_info","play_queue","mc_playlist","streaming_service_use","previous_force"],"preset":{"num":40},"recent_info":{"num":40},"play_queue":{"size":200},"mc_playlist":{"size":200,"num":5},"net_radio_type":"airable"},"distribution":{"version":2,"compatible_client":[2],"client_max":19,"server_zone_list":["main"],"mc_surround":{"version":1,"func_list":["mcss_error_info"],"master_role":{"surround_pair":false,"stereo_pair":true,"subwoofer_pair":true},"slave_role":{"surround_pair_l_or_r":true,"surround_pair_lr":true,"subwoofer_pair":false}}},"clock":{"func_list":["date_and_time","alarm","snooze"],"range_step":[{"id":"alarm_volume","min":5,"max":60,"step":1},{"id":"alarm_fade","min":180,"max":180,"step":1}],"alarm_fade_type_num":1,"alarm_mode_list":["oneday"],"alarm_input_list":["none","server","net_radio","napster","spotify","qobuz","tidal","deezer","amazon_music"],"alarm_preset_list":["netusb"]},"ccs":{"supported":true}}},"dist":{"getFeatures":{"response_code":0,"group_id":"00000000000000000000000000000000","group_name":"(Linked) Schlafzimmer","role":"client","server_zone":"main","client_list":[],"build_disable":[],"audio_dropout":false,"mc_surround":{"id":0,"role":"none","status":"none","build_disable":[]}}},"netusb":{"getPlayInfo":{"response_code":0,"input":"mc_link","play_queue_type":"system","playback":"stop","repeat":"off","shuffle":"off","play_time":0,"total_time":0,"artist":"","album":"","track":"","albumart_url":"","albumart_id":431,"usb_devicetype":"unknown","auto_stopped":false,"attribute":0,"repeat_available":[],"shuffle_available":[]},"getPresetInfo":{"response_code":0,"preset_info":[{"input":"amazon_music","text":"Hurricane","attribute":30},{"input":"amazon_music","text":"Entspannte Klassik","attribute":0},{"input":"amazon_music","text":"Meditation & Entspannung","attribute":0},{"input":"server","text":"The Amber Field","attribute":30},{"input":"amazon_music","text":"Neo-Klassik","attribute":0},{"input":"amazon_music","text":"Gregorianische Gesänge & Musik des Mittelalters","attribute":0},{"input":"amazon_music","text":"Klassik-Pop","attribute":0},{"input":"amazon_music","text":"Klassik für ein entspanntes Bad","attribute":0},{"input":"amazon_music","text":"Deuter","attribute":0},{"input":"amazon_music","text":"Meditation & Entspannung","attribute":0},{"input":"server","text":"Wait There","attribute":30},{"input":"server","text":"Sapientia (Solo Piano by Marcus Loeber)","attribute":30},{"input":"server","text":"Silent Morning Joy","attribute":30},{"input":"server","text":"Fjarlægur","attribute":30},{"input":"server","text":"Warm Weather (Norderney version) / Speck of Gold","attribute":30},{"input":"server","text":"From N'Ney With Love","attribute":30},{"input":"server","text":"Sonnenuntergang","attribute":30},{"input":"server","text":"Days Go By","attribute":30},{"input":"server","text":"Entspannt","attribute":30},{"input":"server","text":"Milchbar 10:00 AM","attribute":30},{"input":"server","text":"Eyes (extended version)","attribute":30},{"input":"server","text":"My Island","attribute":30},{"input":"server","text":"Flowing","attribute":30},{"input":"server","text":"Sweet Spot","attribute":30},{"input":"server","text":"Breezin'","attribute":30},{"input":"server","text":"Continuous Mix","attribute":30},{"input":"server","text":"All Roads Lead to Rome - Jerusalem","attribute":30},{"input":"server","text":"A Call to Prayer","attribute":30},{"input":"server","text":"Arrival","attribute":30},{"input":"server","text":"My Side","attribute":30},{"input":"server","text":"Whispers Around the Lake Shore","attribute":30},{"input":"server","text":"Out Of The Blue","attribute":30},{"input":"server","text":"They Will Remember Us (Intro)","attribute":30},{"input":"server","text":"Ambrosia","attribute":30},{"input":"server","text":"Time","attribute":30},{"input":"server","text":"Intro","attribute":30},{"input":"server","text":"Metrosat 4 (Remastered)","attribute":30},{"input":"server","text":"Accede","attribute":30},{"input":"server","text":"Euphotic (live version)","attribute":30},{"input":"server","text":"Between Us (Direct Remix)","attribute":30}],"func_list":["clear","move"]},"getSettings":{"response_code":0,"qobuz":{"quality":{"value":"hr_192_24","value_list":[{"value":"mp3_320","attribute":1},{"value":"cd_44_16","attribute":1},{"value":"hr_96_24","attribute":0},{"value":"hr_192_24","attribute":0}]}}},"getRecentInfo":{"response_code":0,"recent_info":[{"input":"server","text":"The Amber Field","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Classic*20Music,*20Piano,*20Neo*20Classic/Tim*20Glemser/Painted*20Echoes*20*5b2011*5d/01*20The*20Amber*20Field.mp3/$!picture-unsync-386-290279.jpg","play_count":1,"attribute":30},{"input":"server","text":"Relax","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Ludvig*20*26*20Stelar/Relax/01*20Relax.mp3/$!picture-unsync-1575-87013.jpg","play_count":1,"attribute":30},{"input":"amazon_music","text":"Neo-Klassik","albumart_url":"https://m.media-amazon.com:443/images/I/41MgAMYqLsL.jpg","play_count":2,"attribute":0},{"input":"amazon_music","text":"Gregorianische Gesänge & Musik des Mittelalters","albumart_url":"https://m.media-amazon.com:443/images/I/61VFddhUr-L.jpg","play_count":2,"attribute":0},{"input":"server","text":"Days Go By","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*205*20(Compiled*20By*20Blank*20*26*20Jones)*20(2013)/01*20Blank*20*26*20Jones*20with*20Coralie*20Cl*c3*a9ment*20-*20Days*20Go*20By.mp3/$!picture-unsync-1761-46401.jpg","play_count":2,"attribute":30},{"input":"server","text":"My Side","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Future*20Garage,*20Post*20Dubstep/Ghosts*20of*20Paraguay/Ember/01*20Ghosts*20of*20Paraguay*20-*20My*20Side.mp3/$!picture-unsync-1658-67484.jpg","play_count":2,"attribute":30},{"input":"server","text":"Confusion","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic/*26ME,*20Rampa,*20Adam*20Port/Send*20Return/02*20-*20*26ME,*20Rampa,*20Adam*20Port,*20Ali*20Love*20-*20Confusion.flac/$!picture-3179-228130.jpg","play_count":1,"attribute":30},{"input":"server","text":"Send Return","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic/*26ME,*20Rampa,*20Adam*20Port/Send*20Return/01*20-*20*26ME,*20Rampa,*20Adam*20Port*20-*20Send*20Return.flac/$!picture-1908-228130.jpg","play_count":1,"attribute":30},{"input":"server","text":"The Impossible Silence","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/!Serie/Cafe*20del*20Mar/Caf*c3*a9*20del*20Mar*20-*2027*20Veintisiete*20(2021)/1-01*20Eric*20Hilton*20-*20The*20Impossible*20Silence.flac/$!picture-866-84060.jpg","play_count":1,"attribute":30},{"input":"server","text":"It's Alright","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/!Serie/Cafe*20del*20Mar/Caf*c3*a9*20Del*20Mar*20-*20Dreams*204/1-01*20Gary*20B*20-*20It*27s*20Alright.mp3/$!picture-unsync-1649-61937.jpg","play_count":1,"attribute":30},{"input":"server","text":"A Call to Prayer","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Instrumental,Touching/Estas*20Tonne/Mother*20of*20Souls/02*20A*20Call*20to*20Prayer.flac/$!picture-1439-22402.jpg","play_count":1,"attribute":30},{"input":"server","text":"Lies","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Future*20Garage,*20Post*20Dubstep/Ghosts*20of*20Paraguay/Ember/10*20Ghosts*20of*20Paraguay*20feat.*20Farisha*20-*20Lies.mp3/$!picture-unsync-1703-67484.jpg","play_count":1,"attribute":30},{"input":"server","text":"Lost Souls","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Future*20Garage,*20Post*20Dubstep/Ghosts*20of*20Paraguay/Ember/09*20Ghosts*20of*20Paraguay*20-*20Lost*20Souls.mp3/$!picture-unsync-1661-67484.jpg","play_count":1,"attribute":30},{"input":"server","text":"Wait for You","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Future*20Garage,*20Post*20Dubstep/Ghosts*20of*20Paraguay/Ember/08*20Ghosts*20of*20Paraguay*20feat.*20Aidan*20Dullaghan*20-*20Wait*20for*20You.mp3/$!picture-unsync-1735-67484.jpg","play_count":1,"attribute":30},{"input":"server","text":"Falling Off the Edge","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Future*20Garage,*20Post*20Dubstep/Ghosts*20of*20Paraguay/Ember/07*20Ghosts*20of*20Paraguay*20feat.*20Tahli*20Elsner*20-*20Falling*20Off*20the*20Edge.mp3/$!picture-unsync-1759-67484.jpg","play_count":1,"attribute":30},{"input":"server","text":"When the Rains Came Down (Ambient Mix)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Future*20Garage,*20Post*20Dubstep/Ghosts*20of*20Paraguay/Ember/06*20Ghosts*20of*20Paraguay*20feat.*20Plutonic*20-*20When*20the*20Rains*20Came*20Down*20(Ambient*20Mix).mp3/$!picture-unsync-1765-67484.jpg","play_count":1,"attribute":30},{"input":"server","text":"When the Rains Came Down","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Future*20Garage,*20Post*20Dubstep/Ghosts*20of*20Paraguay/Ember/05*20Ghosts*20of*20Paraguay*20feat.*20Plutonic*20-*20When*20the*20Rains*20Came*20Down.mp3/$!picture-unsync-1751-67484.jpg","play_count":1,"attribute":30},{"input":"server","text":"Titles","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Future*20Garage,*20Post*20Dubstep/Ghosts*20of*20Paraguay/Ember/04*20Ghosts*20of*20Paraguay*20feat.*20Tahli*20Elsner*20-*20Titles.mp3/$!picture-unsync-1745-67484.jpg","play_count":1,"attribute":30},{"input":"server","text":"Love Is Gone","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Future*20Garage,*20Post*20Dubstep/Ghosts*20of*20Paraguay/Ember/03*20Ghosts*20of*20Paraguay*20-*20Love*20Is*20Gone.mp3/$!picture-unsync-1663-67484.jpg","play_count":1,"attribute":30},{"input":"server","text":"Ember","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Future*20Garage,*20Post*20Dubstep/Ghosts*20of*20Paraguay/Ember/02*20Ghosts*20of*20Paraguay*20-*20Ember.mp3/$!picture-unsync-1656-67484.jpg","play_count":1,"attribute":30},{"input":"server","text":"Crosswinds","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*2012*20(Compiled*20By*20Blank*20*26*20Jones)*20(2020)/01*20Blank*20*26*20Jones*20-*20Crosswinds.flac/$!picture-1772-34485.jpg","play_count":1,"attribute":30},{"input":"server","text":"My Island","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*209*20(Compiled*20By*20Blank*20*26*20Jones)*20(2017)/01*20Blank*20*26*20Jones*20-*20My*20Island.mp3/$!picture-unsync-1747-45943.jpg","play_count":2,"attribute":30},{"input":"server","text":"Porqué","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*201*20(Compiled*20By*20Blank*20*26*20Jones)*20(2009)/02*20Pochill*20-*20Porqu*c3*a9.flac/$!picture-1754-51515.jpg","play_count":1,"attribute":30},{"input":"server","text":"Die Blaue Stunde","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*201*20(Compiled*20By*20Blank*20*26*20Jones)*20(2009)/01*20Blank*20*26*20Jones*20-*20Die*20Blaue*20Stunde.flac/$!picture-1911-51515.jpg","play_count":1,"attribute":30},{"input":"amazon_music","text":"Klassik für ein entspanntes Bad","albumart_url":"https://m.media-amazon.com:443/images/I/61LsRCW3ywL.jpg","play_count":1,"attribute":0},{"input":"server","text":"Milchbar 10:00 AM","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*207*20(Compiled*20By*20Blank*20*26*20Jones)*20(2015)/01*20Blank*20*26*20Jones*20-*20Milchbar*2010_00*20AM.mp3/$!picture-unsync-1726-57374.jpg","play_count":4,"attribute":30},{"input":"server","text":"Entspannt","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*206*20*5bCompiled*20By*20Blank*20*26*20Jones*5d*20(2014)/01*20Blank*20*26*20Jones*20-*20Entspannt.mp3/$!picture-unsync-1715-44650.jpg","play_count":1,"attribute":30},{"input":"server","text":"Premiere Classe (Beat mix)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*207*20(Compiled*20By*20Blank*20*26*20Jones)*20(2015)/18*20The*20Kenneth*20Bager*20Experience*20-*20Premiere*20Classe*20(Beat*20mix).mp3/$!picture-unsync-1743-57374.jpg","play_count":1,"attribute":30},{"input":"server","text":"Got to Be Loved","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*207*20(Compiled*20By*20Blank*20*26*20Jones)*20(2015)/17*20Satin*20Jackets*20-*20Got*20to*20Be*20Loved.mp3/$!picture-unsync-1699-57374.jpg","play_count":1,"attribute":30},{"input":"server","text":"Peninsula","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*207*20(Compiled*20By*20Blank*20*26*20Jones)*20(2015)/16*20Darko*20Kustura*20-*20Peninsula.mp3/$!picture-unsync-1678-57374.jpg","play_count":1,"attribute":30},{"input":"server","text":"Shining Star","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*207*20(Compiled*20By*20Blank*20*26*20Jones)*20(2015)/15*20Blank*20*26*20Jones*20-*20Shining*20Star.mp3/$!picture-unsync-1722-57374.jpg","play_count":1,"attribute":30},{"input":"server","text":"Sunkissed","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*207*20(Compiled*20By*20Blank*20*26*20Jones)*20(2015)/14*20Blank*20*26*20Jones*20-*20Sunkissed.mp3/$!picture-unsync-1719-57374.jpg","play_count":1,"attribute":30},{"input":"server","text":"It's Over","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*207*20(Compiled*20By*20Blank*20*26*20Jones)*20(2015)/13*20Ben*20Macklin*20feat.*20Emma*20Brammer*20-*20It*27s*20Over.mp3/$!picture-unsync-1762-57374.jpg","play_count":1,"attribute":30},{"input":"server","text":"Sunkissed (interlude)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*207*20(Compiled*20By*20Blank*20*26*20Jones)*20(2015)/12*20Blank*20*26*20Jones*20-*20Sunkissed*20(interlude).mp3/$!picture-unsync-1731-57374.jpg","play_count":1,"attribute":30},{"input":"server","text":"The Sunset Over Hobro","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*207*20(Compiled*20By*20Blank*20*26*20Jones)*20(2015)/11*20The*20Kenneth*20Bager*20Experience*20-*20The*20Sunset*20Over*20Hobro.mp3/$!picture-unsync-1738-57374.jpg","play_count":1,"attribute":30},{"input":"server","text":"What I Feel Like (original mix)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*207*20(Compiled*20By*20Blank*20*26*20Jones)*20(2015)/10*20Moe*20Turk*20-*20What*20I*20Feel*20Like*20(original*20mix).mp3/$!picture-unsync-1685-57374.jpg","play_count":1,"attribute":30},{"input":"server","text":"Feelings","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*207*20(Compiled*20By*20Blank*20*26*20Jones)*20(2015)/09*20Trumpet*20Thing*20-*20Feelings.mp3/$!picture-unsync-1688-57374.jpg","play_count":1,"attribute":30},{"input":"server","text":"Solo Un Delay","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*207*20(Compiled*20By*20Blank*20*26*20Jones)*20(2015)/08*20Tuccinelli*20-*20Solo*20Un*20Delay.mp3/$!picture-unsync-1676-57374.jpg","play_count":1,"attribute":30},{"input":"server","text":"Love Rocks","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*207*20(Compiled*20By*20Blank*20*26*20Jones)*20(2015)/07*20N_*20Grandjean*20-*20Love*20Rocks.mp3/$!picture-unsync-1687-57374.jpg","play_count":1,"attribute":30},{"input":"server","text":"Brisas de Verano","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Chillout,*20Balearic/Blank*20*26*20Jones/Milchbar*20Seaside*20Season*207*20(Compiled*20By*20Blank*20*26*20Jones)*20(2015)/06*20Micko*20Roche*20-*20Brisas*20de*20Verano.mp3/$!picture-unsync-1678-57374.jpg","play_count":1,"attribute":30}]}},"clock":{"getSettings":{"response_code":0,"auto_sync":true,"alarm":{"alarm_on":false,"volume":26,"fade_interval":180,"fade_type":1,"mode":"oneday","repeat":false,"oneday":{"enable":true,"time":"1000","beep":false,"playback_type":"resume","resume":{"input":"server"},"snooze":true}}}},"main":{"getStatus":{"response_code":0,"power":"on","sleep":0,"volume":10,"mute":false,"max_volume":60,"input":"mc_link","input_text":"MC Link","distribution_enable":false,"sound_program":"bass_booster","equalizer":{"mode":"manual","low":0,"mid":0,"high":0},"link_control":"standard","link_audio_delay":"balanced","disable_flags":0},"getSoundProgramList":{"response_code":0,"sound_program_list":["bass_booster","standard"]},"getSignalInfo":{"response_code":0,"audio":{"error":0,"format":"","fs":"","bit":"","bitrate":0}}}}},{"Wohnzimmer":{"system":{"getDeviceInfo":{"response_code":0,"model_name":"RX-A2070","destination":"BG","device_id":"AC44F241D7D9","system_id":"0B23E7D3","system_version":2.87,"api_version":2.08,"netmodule_generation":1,"netmodule_version":"1923 ","netmodule_checksum":"A7E6476F","operation_mode":"normal","update_error_code":"00000000"},"getNetworkStatus":{"response_code":0,"network_name":"Wohnzimmer","connection":"wired_lan","dhcp":false,"ip_address":"10.0.0.5","subnet_mask":"255.255.255.0","default_gateway":"10.0.0.1","dns_server_1":"10.0.0.1","dns_server_2":"8.8.8.8","wireless_lan":{"ssid":"","type":"none","key":"","ch":0,"strength":0},"wireless_direct":{"ssid":"RX-A2070 41D7D9","type":"none","key":""},"musiccast_network":{"ready":true,"device_type":"standard","child_num":0,"ch":0,"initial_join_running":false},"mac_address":{"wired_lan":"AC44F241D7D9","wireless_lan":"94E36D8E80CF","wireless_direct":"94E36D8E80D0"},"airplay_pin":""},"getFuncStatus":{"response_code":0,"hdmi_out_1":true,"hdmi_out_2":true,"party_mode":false,"speaker_pattern":1},"getLocationInfo":{"response_code":0,"id":"5d5c1b0f78dd41d293d8b1dccef50e9c","name":"Zuhause","zone_list":{"main":true,"zone2":false,"zone3":false,"zone4":false}},"getFeatures":{"response_code":0,"system":{"func_list":["wired_lan","wireless_lan","wireless_direct","network_standby","network_standby_auto","bluetooth_standby","bluetooth_tx_setting","hdmi_out_1","hdmi_out_2","airplay","disklavier_settings","remote_info","network_reboot","party_mode","speaker_pattern"],"zone_num":4,"input_list":[{"id":"napster","distribution_enable":true,"rename_enable":false,"account_enable":true,"play_info_type":"netusb"},{"id":"spotify","distribution_enable":true,"rename_enable":false,"account_enable":false,"play_info_type":"netusb"},{"id":"juke","distribution_enable":true,"rename_enable":false,"account_enable":true,"play_info_type":"netusb"},{"id":"qobuz","distribution_enable":true,"rename_enable":false,"account_enable":true,"play_info_type":"netusb"},{"id":"tidal","distribution_enable":true,"rename_enable":false,"account_enable":true,"play_info_type":"netusb"},{"id":"deezer","distribution_enable":true,"rename_enable":false,"account_enable":true,"play_info_type":"netusb"},{"id":"airplay","distribution_enable":false,"rename_enable":false,"account_enable":false,"play_info_type":"netusb"},{"id":"mc_link","distribution_enable":false,"rename_enable":true,"account_enable":false,"play_info_type":"netusb"},{"id":"server","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"netusb"},{"id":"net_radio","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"netusb"},{"id":"bluetooth","distribution_enable":true,"rename_enable":false,"account_enable":false,"play_info_type":"netusb"},{"id":"usb","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"netusb"},{"id":"tuner","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"tuner"},{"id":"av1","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"},{"id":"av2","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"},{"id":"av3","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"},{"id":"av4","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"},{"id":"av5","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"},{"id":"av6","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"},{"id":"av7","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"},{"id":"audio1","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"},{"id":"audio2","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"},{"id":"audio3","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"},{"id":"phono","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"},{"id":"v_aux","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"},{"id":"main_sync","distribution_enable":true,"rename_enable":true,"account_enable":false,"play_info_type":"none"}],"speaker_pattern_num":2},"zone":[{"id":"main","func_list":["power","sleep","volume","mute","sound_program","pure_direct","enhancer","tone_control","dialogue_level","signal_info","prepare_input_change","link_control","link_audio_delay","link_audio_quality","scene","audio_select","cursor","menu","surr_decoder_type","contents_display","actual_volume"],"input_list":["napster","spotify","juke","qobuz","tidal","deezer","airplay","mc_link","server","net_radio","bluetooth","usb","tuner","av1","av2","av3","av4","av5","av6","av7","audio1","audio2","audio3","phono","v_aux"],"sound_program_list":["munich","vienna","amsterdam","freiburg","royaumont","chamber","village_vanguard","warehouse_loft","cellar_club","roxy_theatre","bottom_line","sports","action_game","roleplaying_game","music_video","recital_opera","standard","spectacle","sci-fi","adventure","drama","mono_movie","enhanced","2ch_stereo","9ch_stereo","surr_decoder","straight"],"surr_decoder_type_list":["toggle","auto","dolby_surround","dts_neural_x","dts_neo6_cinema","dts_neo6_music"],"tone_control_mode_list":["manual"],"link_control_list":["speed","standard","stability"],"link_audio_delay_list":["audio_sync","lip_sync"],"link_audio_quality_list":["compressed","uncompressed"],"range_step":[{"id":"volume","min":0,"max":161,"step":1},{"id":"tone_control","min":-12,"max":12,"step":1},{"id":"dialogue_level","min":0,"max":3,"step":1},{"id":"actual_volume_db","min":-80.5,"max":16.5,"step":0.5}],"scene_num":12,"cursor_list":["up","down","left","right","select","return"],"menu_list":["on_screen","top_menu","menu","option","display","red","green","yellow","blue"],"actual_volume_mode_list":["db"],"audio_select_list":["auto","hdmi","coax_opt","analog","unavailable"]},{"id":"zone2","zone_b":false,"func_list":["power","sleep","volume","mute","enhancer","tone_control","prepare_input_change","link_control","link_audio_quality","scene","cursor","contents_display","actual_volume"],"input_list":["napster","spotify","juke","qobuz","tidal","deezer","airplay","mc_link","server","net_radio","bluetooth","usb","tuner","av1","av2","av3","av4","av5","av6","av7","audio1","audio2","audio3","phono","v_aux","main_sync"],"tone_control_mode_list":["manual","auto","bypass"],"link_control_list":["speed","standard","stability"],"link_audio_quality_list":["compressed","uncompressed"],"range_step":[{"id":"volume","min":0,"max":161,"step":1},{"id":"tone_control","min":-12,"max":12,"step":1},{"id":"actual_volume_db","min":-80.5,"max":16.5,"step":0.5}],"scene_num":4,"cursor_list":["up","down","left","right","select","return"],"actual_volume_mode_list":["db"]},{"id":"zone3","func_list":["power","sleep","volume","mute","enhancer","tone_control","prepare_input_change","scene","actual_volume"],"input_list":["napster","spotify","juke","qobuz","tidal","deezer","airplay","mc_link","server","net_radio","bluetooth","usb","tuner","av1","av2","av3","av4","audio1","audio2","audio3","phono","v_aux","main_sync"],"tone_control_mode_list":["manual","auto","bypass"],"range_step":[{"id":"volume","min":0,"max":161,"step":1},{"id":"tone_control","min":-12,"max":12,"step":1},{"id":"actual_volume_db","min":-80.5,"max":16.5,"step":0.5}],"scene_num":4,"actual_volume_mode_list":["db"]},{"id":"zone4","func_list":["power","sleep","prepare_input_change","scene"],"input_list":["av1","av2","av3","av4","av5","av6","av7","v_aux"],"scene_num":4}],"tuner":{"func_list":["fm","rds","dab"],"range_step":[{"id":"fm","min":87500,"max":108000,"step":50}],"preset":{"type":"separate","num":40}},"netusb":{"func_list":["recent_info","play_queue","mc_playlist","streaming_service_use"],"preset":{"num":40},"recent_info":{"num":40},"play_queue":{"size":200},"mc_playlist":{"size":200,"num":5},"net_radio_type":"airable","pandora":{"sort_option_list":["recent","alphabet"]},"siriusxm":{"api_type":"everest"}},"distribution":{"version":2,"compatible_client":[2],"client_max":9,"server_zone_list":["main","zone2"]},"ccs":{"supported":true}}},"dist":{"getFeatures":{"response_code":0,"group_id":"00000000000000000000000000000000","group_name":"(Linked) Wohnzimmer","role":"none","server_zone":"main","client_list":[]}},"netusb":{"getPlayInfo":{"response_code":0,"input":"server","play_queue_type":"system","playback":"play","repeat":"off","shuffle":"off","play_time":9,"total_time":0,"artist":"Hammock","album":"Silencia","track":"When It Hurts to Remember","albumart_url":"/YamahaRemoteControl/AlbumART/AlbumART5272.jpg","albumart_id":5272,"usb_devicetype":"unknown","auto_stopped":false,"attribute":83886591,"repeat_available":["off","one","all"],"shuffle_available":["off","on"]},"getPresetInfo":{"response_code":0,"preset_info":[{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""},{"input":"unknown","text":""}],"func_list":["clear","move"]},"getSettings":{"response_code":0,"qobuz":{"quality":{"value":"hr_192_24","value_list":[{"value":"mp3_320","attribute":1},{"value":"cd_44_16","attribute":1},{"value":"hr_96_24","attribute":0},{"value":"hr_192_24","attribute":0}]}}},"getRecentInfo":{"response_code":0,"recent_info":[{"input":"server","text":"When It Hurts to Remember","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Silencia*20(2019)/03*20When*20It*20Hurts*20to*20Remember.flac/$!picture-1323-36584.jpg","play_count":2,"attribute":30},{"input":"server","text":"Silencia","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Silencia*20(2019)/02*20Silencia.flac/$!picture-1306-36584.jpg","play_count":2,"attribute":30},{"input":"server","text":"Circular as Our Way","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Silencia*20(2019)/01*20Circular*20as*20Our*20Way.flac/$!picture-1317-36584.jpg","play_count":2,"attribute":30},{"input":"server","text":"Undercurrent 6 (Hypostatic)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Undercurrents*20(2019)/06*20Undercurrent*206*20(Hypostatic).flac/$!picture-1309-21333.jpg","play_count":1,"attribute":30},{"input":"server","text":"Undercurrent 5 (Calion Pills)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Undercurrents*20(2019)/05*20Undercurrent*205*20(Calion*20Pills).flac/$!picture-1314-21333.jpg","play_count":1,"attribute":30},{"input":"server","text":"Undercurrent 4 (Holotropic Disclosure)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Undercurrents*20(2019)/04*20Undercurrent*204*20(Holotropic*20Disclosure).flac/$!picture-1323-21333.jpg","play_count":1,"attribute":30},{"input":"server","text":"Undercurrent 3 (Grounded in Space)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Undercurrents*20(2019)/03*20Undercurrent*203*20(Grounded*20in*20Space).flac/$!picture-1312-21333.jpg","play_count":1,"attribute":30},{"input":"server","text":"Undercurrent 2 (Jesus Bombed a Baritone)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Undercurrents*20(2019)/02*20Undercurrent*202*20(Jesus*20Bombed*20a*20Baritone).flac/$!picture-1327-21333.jpg","play_count":1,"attribute":30},{"input":"server","text":"Undercurrent 1 (Morphic Resonance)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Undercurrents*20(2019)/01*20Undercurrent*201*20(Morphic*20Resonance).flac/$!picture-1321-21333.jpg","play_count":1,"attribute":30},{"input":"server","text":"Without Form and Void","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Silencia*20(2019)/11*20Without*20Form*20and*20Void.flac/$!picture-1320-36584.jpg","play_count":1,"attribute":30},{"input":"server","text":"Life Is Life","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Silencia*20(2019)/10*20Life*20Is*20Life.flac/$!picture-1307-36584.jpg","play_count":1,"attribute":30},{"input":"server","text":"Fascinans","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Silencia*20(2019)/09*20Fascinans.flac/$!picture-1303-36584.jpg","play_count":1,"attribute":30},{"input":"server","text":"Slowly You Dissolve","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Silencia*20(2019)/08*20Slowly*20You*20Dissolve.flac/$!picture-1321-36584.jpg","play_count":1,"attribute":30},{"input":"server","text":"We Try to Make Sense of It All","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Silencia*20(2019)/07*20We*20Try*20to*20Make*20Sense*20of*20It*20All.flac/$!picture-1328-36584.jpg","play_count":1,"attribute":30},{"input":"server","text":"In the Shattering of Things","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Silencia*20(2019)/06*20In*20the*20Shattering*20of*20Things.flac/$!picture-1325-36584.jpg","play_count":1,"attribute":30},{"input":"server","text":"Saudade","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Silencia*20(2019)/05*20Saudade.flac/$!picture-1305-36584.jpg","play_count":1,"attribute":30},{"input":"server","text":"Afraid to Forget","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Silencia*20(2019)/04*20Afraid*20to*20Forget.flac/$!picture-1318-36584.jpg","play_count":1,"attribute":30},{"input":"server","text":"Future Past","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Elsewhere*20(2021)/12*20Future*20Past.flac/$!picture-1585-27529.jpg","play_count":1,"attribute":30},{"input":"server","text":"Ineffable","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Elsewhere*20(2021)/11*20Ineffable.flac/$!picture-1511-27529.jpg","play_count":1,"attribute":30},{"input":"server","text":"Take Another Drink From My Hands (For Bella)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Elsewhere*20(2021)/10*20Take*20Another*20Drink*20From*20My*20Hands*20(For*20Bella).flac/$!picture-1582-27529.jpg","play_count":1,"attribute":30},{"input":"server","text":"On the Way Out of No Way","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Elsewhere*20(2021)/09*20On*20the*20Way*20Out*20of*20No*20Way.flac/$!picture-1435-27529.jpg","play_count":1,"attribute":30},{"input":"server","text":"What You Need Isn't There","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Elsewhere*20(2021)/08*20What*20You*20Need*20Isn*27t*20There.flac/$!picture-1616-27529.jpg","play_count":1,"attribute":30},{"input":"server","text":"Elsewhere","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Elsewhere*20(2021)/07*20Elsewhere.flac/$!picture-1600-27529.jpg","play_count":1,"attribute":30},{"input":"server","text":"Someday","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Elsewhere*20(2021)/06*20Someday.flac/$!picture-1490-27529.jpg","play_count":1,"attribute":30},{"input":"server","text":"In the Empty Space You Used to Breathe","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Elsewhere*20(2021)/05*20In*20the*20Empty*20Space*20You*20Used*20to*20Breathe.flac/$!picture-1503-27529.jpg","play_count":1,"attribute":30},{"input":"server","text":"Dying Alone","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Elsewhere*20(2021)/04*20Dying*20Alone.flac/$!picture-1602-27529.jpg","play_count":1,"attribute":30},{"input":"server","text":"Afraid to Go Home","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Elsewhere*20(2021)/03*20Afraid*20to*20Go*20Home.flac/$!picture-1608-27529.jpg","play_count":1,"attribute":30},{"input":"server","text":"Heavy Laden","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Elsewhere*20(2021)/02*20Heavy*20Laden.flac/$!picture-1800-27529.jpg","play_count":1,"attribute":30},{"input":"server","text":"Before","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Post*20Rock/Hammock/Elsewhere*20(2021)/01*20Before.flac/$!picture-1543-27529.jpg","play_count":1,"attribute":30},{"input":"server","text":"Up in Smoke (extended mix)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20House/Dusky/Pressure*20(2022)/01*20Dusky*20-*20Up*20in*20Smoke*20(extended*20mix).flac/$!picture-1613-109356.jpg","play_count":1,"attribute":30},{"input":"server","text":"OnlyL","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Future*20Bass,*20PopHouse,*20Chilltrap/TSHA/Capricorn*20Sun*20(2022)/03*20TSHA*20feat.*20Nimmo*20-*20OnlyL.flac/$!picture-1836-57863.jpg","play_count":2,"attribute":30},{"input":"server","text":"The Light","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic,*20Future*20Bass,*20PopHouse,*20Chilltrap/TSHA/Capricorn*20Sun*20(2022)/02*20TSHA*20-*20The*20Light.flac/$!picture-1699-57863.jpg","play_count":2,"attribute":30},{"input":"server","text":"Where Am I","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic/!Serie/Kompakt*20Total/Total*2022*20*5b2022*5d/1-08*20Jonathan*20Kaspar*20-*20Where*20Am*20I.flac/$!picture-1535-302458.jpg","play_count":1,"attribute":30},{"input":"server","text":"All Or Nothing (Michael Mayer Remix)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic/!Serie/Kompakt*20Total/Total*2022*20*5b2022*5d/1-07*20eee*20gee*20-*20All*20Or*20Nothing*20(Michael*20Mayer*20Remix).flac/$!picture-1527-302458.jpg","play_count":1,"attribute":30},{"input":"server","text":"The Sharper Image","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic/!Serie/Kompakt*20Total/Total*2022*20*5b2022*5d/1-06*20Rebolledo*20-*20The*20Sharper*20Image.flac/$!picture-1350-302458.jpg","play_count":1,"attribute":30},{"input":"server","text":"The Hills","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic/!Serie/Kompakt*20Total/Total*2022*20*5b2022*5d/1-05*20Perel*20-*20The*20Hills.flac/$!picture-1226-302458.jpg","play_count":1,"attribute":30},{"input":"server","text":"Why","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic/!Serie/Kompakt*20Total/Total*2022*20*5b2022*5d/1-04*20Voigt*20*26*20Voigt*20-*20Why.flac/$!picture-1218-302458.jpg","play_count":1,"attribute":30},{"input":"server","text":"Cinco Y Rojo","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic/!Serie/Kompakt*20Total/Total*2022*20*5b2022*5d/1-03*20Matias*20Aguayo*20-*20Cinco*20Y*20Rojo.flac/$!picture-1335-302458.jpg","play_count":1,"attribute":30},{"input":"server","text":"Le Monde A Changé","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic/!Serie/Kompakt*20Total/Total*2022*20*5b2022*5d/1-02*20J*c3*bcrgen*20Paape*20-*20Le*20Monde*20A*20Chang*c3*a9.flac/$!picture-1125-302458.jpg","play_count":1,"attribute":30},{"input":"server","text":"Crawling Up That Hill (Instrumental Version)","albumart_url":"http://10.0.0.10:9790/minimserver/*/Mp3s/Electronic/!Serie/Kompakt*20Total/Total*2022*20*5b2022*5d/1-01*20J*c3*b6rg*20Burger*20-*20Crawling*20Up*20That*20Hill*20(Instrumental*20Version).flac/$!picture-1257-302458.jpg","play_count":1,"attribute":30}]}},"tuner":{"getPlayInfo":{"response_code":0,"band":"fm","auto_scan":false,"fm":{"preset":0,"freq":98100,"tuned":false,"audio_mode":"mono"},"rds":{"program_type":"","program_service":"","radio_text_a":"","radio_text_b":""},"dab":{"preset":0,"id":65535,"status":"ready","freq":0,"category":"primary","audio_mode":"mono","bit_rate":0,"quality":0,"tune_aid":0,"off_air":false,"dab_plus":false,"program_type":"","ch_label":"","service_label":"","dls":"","ensemble_label":""}},"getPresetInfo":{"response_code":4}},"main":{"getStatus":{"response_code":0,"power":"on","sleep":0,"volume":26,"mute":false,"max_volume":161,"input":"server","distribution_enable":true,"sound_program":"straight","surr_decoder_type":"auto","pure_direct":false,"enhancer":true,"tone_control":{"mode":"auto","bass":0,"treble":0},"dialogue_level":3,"link_control":"standard","link_audio_delay":"audio_sync","link_audio_quality":"uncompressed","disable_flags":0,"actual_volume":{"mode":"db","value":-67.5,"unit":"dB"},"contents_display":true,"audio_select":"unavailable","party_enable":false},"getSoundProgramList":{"response_code":0,"sound_program_list":["munich","vienna","amsterdam","freiburg","royaumont","chamber","village_vanguard","warehouse_loft","cellar_club","roxy_theatre","bottom_line","sports","action_game","roleplaying_game","music_video","recital_opera","standard","spectacle","sci-fi","adventure","drama","mono_movie","enhanced","2ch_stereo","9ch_stereo","surr_decoder","straight"]},"getSignalInfo":{"response_code":0,"audio":{"error":0,"format":"FLAC","fs":"44.1 kHz"}}},"zone2":{"getStatus":{"response_code":0,"power":"standby","sleep":0,"volume":81,"mute":false,"max_volume":161,"input":"av1","distribution_enable":true,"enhancer":true,"tone_control":{"mode":"auto","bass":0,"treble":0},"link_control":"standard","link_audio_quality":"uncompressed","disable_flags":0,"actual_volume":{"mode":"db","value":-40,"unit":"dB"},"contents_display":false,"party_enable":false},"getSoundProgramList":{"response_code":0,"sound_program_list":[]},"getSignalInfo":{"response_code":0,"audio":{"error":0,"format":"FLAC","fs":""}}},"zone3":{"getStatus":{"response_code":0,"power":"standby","sleep":0,"volume":81,"mute":false,"max_volume":161,"input":"av1","distribution_enable":false,"enhancer":true,"tone_control":{"mode":"auto","bass":0,"treble":0},"disable_flags":0,"actual_volume":{"mode":"db","value":-40,"unit":"dB"},"party_enable":false},"getSoundProgramList":{"response_code":0,"sound_program_list":[]},"getSignalInfo":{"response_code":0,"audio":{"error":0,"format":"FLAC","fs":""}}},"zone4":{"getStatus":{"response_code":0,"power":"standby","sleep":0,"input":"av1","distribution_enable":false,"disable_flags":0,"party_enable":false},"getSoundProgramList":{"response_code":0,"sound_program_list":[]},"getSignalInfo":{"response_code":0,"audio":{"error":0,"format":"FLAC","fs":""}}}}}]]

PastCoder commented 1 year ago

In my case it changed with 1.0.7 as follows:

Please let me know, which additional information you need to analyze the behavior.

foxthefox commented 1 year ago

@realwax Thanks for testing andnice to know that the major fault is gone.

"I found a minor issue while testing, that would earn his own thread.... After connecting (adding) two rooms and after a while removing one of them, the sounds broadcast stops on the remaining rooms while musiccast shows the remaining room is still connected. (so transmission stops) If I do that via musiccast app the room left connected still has sound. I can live with that because in most cases i i disconnect, I disconnect them all. For the sake of testing I need to mention it. Let me know I a further issue is appreciated..." -> I am not sure if this has something todo with the "link_id" which is to be removed. Maybe it would be good to switch the adapter in debug mode and watch the messages. I probably found a stopDistribution in the remove which is to much inside. Maybe I have to do a little bit more. But I am creating right now a version 1.0.8 for testing.

foxthefox commented 1 year ago

In my case it changed with 1.0.7 as follows:

* In my UI I have two different options to switch the system on. Option A: 2 rooms; Option B: Just 1 room.

* With Option A it works but gives a warning:
  2022-10-17 19:29:53.416 - warn: musiccast.0 (1329283) Warning command is not processed (no case created for it) add_to_group

* With option B there is still an error (which I think was not there with 0.2.2)
  ![image](https://user-images.githubusercontent.com/23421026/196244461-e9dce6bd-2b05-4abf-ba17-fbc384767b6c.png)

Please let me know, which additional information you need to analyze the behavior. I am creating right now a version 1.0.8 which solves the last issue. There was a change in my API and there was a change forgotten. The first case should also be resolved with 1.0.8

PastCoder commented 1 year ago

The first case should also be resolved with 1.0.8

From a quick check: It seems that both cases are solved with 1.0.8. Thanks!