iobroker.musiccast

1.1.3 • Public • Published

Logo

ioBroker.musiccast

Number of Installations Number of Installations NPM version Downloads

Tests: Test and Release

adapter for Yamaha MusicCast devices like WX-010/030, YSP-1600

Installation:

Installation requires nodejs v10 at minimum

from npm

npm install iobroker.musiccast

actual version from github (this might not every time work, when development is in progress)

npm install https://github.com/foxthefox/ioBroker.musiccast/tarball/master --production

Settings

The admin page the "+" can be used for adding manually the IP address, DeviceID, Type and Name. Press the search button for discovery. If you have multiple devices, you have to hit the button multiple times until all devices are discovered. Unfortunately the discovery returns only one object at the time and this could be any of your MusicCast devices. If the return is the same as already part of the table, you have to hit the button again. Sometimes it helps to save and open the damin page again.

In the unlikely case that 2 or more devices are delivering the same ID, then change one ID slightly. Otherwise the adapter can not distinguish between the 2 devices.

If you want to see the playtime updated for the tracks you listen, please enable/check the respective checkbox. Be aware that increases the message count (every second for every device the pingpong of updates).

available Objects

The following objects are currently implemented:

basic (zone)

Object Value settable Description
{zone}.power boolean x true/false -> ON/Standby
{zone}.zone_b boolean ? true/false -> target Zone is Zone B
{zone}.mute boolean x true/false -> muted/ not muted
{zone}.volume value x 0...max (max depending on device)
{zone}.act_vol_mode text ? actual volume in dB mode
{zone}.act_vol_val value ? actual volume in dB value
{zone}.act_vol_unit text - actual volume unit (should be dB)
{zone}.act_vol_mode_list text - actual volume in dB modes
{zone}.input text x inputs depending on device
{zone}.input_list text - possible inputs
{zone}.input_text text - selected input as text
{zone}.sound_program text x set sound program
{zone}.sound_program_list text - possible sound programs
{zone}.surr_decoder_type text ? set surround type
{zone}.surr_decoder_type_list text - possible surround decoder
{zone}.link_control text x set link control
{zone}.link_control_list text - possible link control settings
{zone}.link_audio_delay text x set link audio delay
{zone}.link_audio_delay_list text - possible link link audio delay settings
{zone}.clearVoice boolean x clear Voice control
{zone}.low value x level EQ low
{zone}.mid value x level EQ mid
{zone}.high value x level EQ high
{zone}.subwoofer_volume value x level subwoofer volume
{zone}.bass value x level bass
{zone}.treble value x level treble
{zone}.tone_control_mode_list text - possible tone control mode
{zone}.tone_mode boolean ? tone control mode
{zone}.balance value x level balance
{zone}.direct boolean x set direct
{zone}.pure_direct boolean x set pure direct
{zone}.enhancer boolean x set enhancer
{zone}.bass_extension boolean x set bass extension
{zone}.sleep value x sleep timer
{zone}.disable_flags boolean x set disable_flags
{zone}.contents_display boolean x set contents_display
{zone}.party_enable boolean x set party_enable
{zone}.extra_bass boolean x set extra_bass
{zone}.adaptive_drc boolean x set adaptive_drc
{zone}.dts_dialogue_control value x set dts_dialogue_control
{zone}.adaptive_dsp_level boolean x set adaptive_dsp_level

netusb

Object Value settable Description
netusb.input value x set/actual input
netusb.playPause boolean x set Play/Pause
netusb.playback text - status net player
netusb.stop boolean x set Stop
netusb.auto_stop boolean - automatically stopped
netusb.next boolean x set Forward
netusb.prev boolean x set Rewind
netusb.shuffle boolean x toggle shuffle
netusb.shuffle_stat text - shuffle status
netusb.repeat boolean x toggle repeat
netusb.repeat_stat text - repeat status
netusb.artist text - artist name
netusb.album text - album name
netusb.track text - track name
netusb.albumart_url text - http address for album art
netusb.albumart_id value - album art id
netusb.play_time value - played time in s
netusb.play_queue_type text - netusb queue type
netusb.total_time value - total time played in s
netusb.recent_info json - history of played items
netusb.preset_info json - saved presets/favourites
netusb.presetrecallnumber value x recall the # in the favourite list
netusb.usb_devicetype text - type of connected USB device
netusb.attribute value - which possibilites has the service, to be decoded
netusb.recallRecentItem value x which possibiolites has the service, to be decoded

system

Object Value settable Description
system.api_version value - API Version
system.system_version value - System Version
system.inputs.{service} value - available input service
system.inputs.{service}.account_enable value - available input service enabled
system.inputs.{service}.distribution_enable value - available input service distributable
system.inputs.{service}.play_info_type value - available input service type

CD player

Object Value settable Description
cd.playPause boolean x set Play/Pause
cd.playback text - status CD player
cd.stop boolean x set Stop
cd.next boolean x set Forward
cd.prev boolean x set Rewind
cd.shuffle boolean x toggle shuffle
cd.shuffle_stat text - shuffle status
cd.repeat boolean x toggle repeat
cd.repeat_stat text - repeat status
cd.device_stat text - device status
cd.playtime value - current playback time
cd.totaltime value - current track total time
cd.disctime value - CD total time
cd.tracknumber value - track current in playback
cd.totaltracks value - total CD tracks
cd.artist text - artist name
cd.album text - album name
cd.track text - track name

tuner

Object Value settable Description
tuner.common_preset_info array - Preset Information
tuner.am.preset_info array - Preset AM Information
tuner.fm.preset_info array - Preset FM Information
tuner.dab.preset_info array - Preset DAB Information
tuner.am.preset number x AM preset number
tuner.am.freq number x AM frequency in kHz
tuner.am.tuned boolean - AM tuned
tuner.fm.preset number x FM preset number
tuner.fm.freq number x FM frequency in kHz
tuner.fm.tuned boolean - FM tuned
tuner.fm.audio_mode string - FM mono/stereo
tuner.dab.preset number x DAB preset number
tuner.dab.id number - DAB Station ID
tuner.dab.status string - DAB status
tuner.dab.freq number - DAB frequency
tuner.dab.category string - primary/secondary
tuner.dab.audio_mode string - DAB mono/stereo
tuner.dab.bit_rate number - DAB bit rate in kpbs
tuner.dab.quality number - DAB quality 0-100
tuner.dab.tune_aid number - DAB signal strenth 0-100
tuner.dab.off_air boolean - DAB off air
tuner.dab.dab_plus boolean - DAB+
tuner.dab.program_type string - DAB program type
tuner.dab.ch_label string - DAB CH label
tuner.dab.service_label string - DAB service label
tuner.dab.dls string - DAB DLS
tuner.dab.ensemble_label string - DAB ensmble label
tuner.dab.initial_scan_progress number - DAB intitial scan progress 0-100
tuner.dab.total_station_num number - DAB total stations 0-255
tuner.rds.program_type string - RDS program type
tuner.rds.program_service string - RDS program service
tuner.rds.radio_text_a string - RDS text A
tuner.rds.radio_text_b string - RDS text B

clock

Object Value settable Description
clock.auto_sync boolean x Clock auto sync
clock.format string x Clock format 12h/24h
clock.alarm_on boolean x Clock alarm status on/off
clock.volume number x Clock alarm volume
clock.fade_interval number x Clock alarm fade interval
clock.fade_type number x Clock alarm fade type
clock.mode string x Clock alarm mode oneday/weekly
clock.repeat boolean x Clock alarm repeat if oneday is specified
clock.{day}.enable boolean x Clock Setup validity
clock.{day}.time string - Clock alarm start up time hhmm 00-23,00-59
clock.{day}.beep boolean x Clock Beep validity
clock.{day}.playback_type string - Clock alarm playback type resume/preset
clock.{day}.resume_input string - Clock alarm resume input ID
clock.{day}.preset_type string - Clock alarm preset type
clock.{day}.preset_num number - Clock alarm preset input ID
clock.{day}.preset_netusb_input string - Clock alarm netusb input ID
clock.{day}.preset_netusb_text string - Clock alarm netusb text
clock.{day}.preset_tuner_band string - Clock alarm tuner band
clock.{day}.preset_tuner_number number - Clock alarm tuner frequency or station ID

ToDo

  • support of lists
  • change of interaction values to nice naming
  • fastforward/fastrewind for NETUSB/CD
  • bluetooth
  • dialog level

Changelog

1.1.3

  • translation with adapter-dev

1.1.2

  • new version yamahe-yxc library

1.1.1

  • (scrounger) added datapoint isOnline, used by ioBroker.device-watcher

1.1.0 (npm)

  • improved testing

1.0.8

  • error correction add_to_group/remove_from_group

1.0.7

  • error correction in link/unlink/distribution

1.0.6

  • (scrounger) recallRecentItem added

1.0.5

  • usage of new IOB test library

1.0.4

  • correction for setting the input ("setInput")

1.0.3

  • new datapoint "extra_bass"
  • new datapoint "adaptive_drc"
  • new datapoint "dts_dialogue_control"
  • new datapoint "adaptive_dsp_level"
  • these are only read in, most likely they are commands, but the API is unknown

1.0.2

  • new datapoint "input_text"

1.0.1

  • changed algorithm for developer support

1.0.0 BREAKING CHANGES

  • the deviceId was previously the systemId, which is not unique. Now the deviceId is used, this is changing the object tree
  • musiccast API 2.0.0
  • device search can now returns more than 1 device
  • new output for developer in the the admin panel
  • more async/await
  • corrected testing

0.2.2

  • musiccast API 0.0.14

0.2.1

  • license 2022
  • dependency correction

0.2.0

  • refactoring with "create adaptor"
  • async/await

0.1.5

  • (Scrounger) error handling when device is not reachable

0.1.4

  • (Scrounger) correction of type mismatch (array object)

0.1.3

  • (foxthefox) added writing for linkControl/linkAudioDelay/linkAudioQuality

0.1.2

  • (Scrounger) correction of type mismatch (string boolean)

0.1.1

  • correction for clock "oneday"

0.1.0

  • compact mode
  • yamaha-yxc-nodejs 0.0.8
  • widget update

0.0.9

  • adminV3 uses values2table and add button back again
  • zone2/3/4 now working
  • extended automatic testing
  • button in admin for collection of JSON responses

0.0.8

  • automatic testing update
  • given name in admin page to appear in object (device)

0.0.7

  • tuner support
  • clock support (information mainly)
  • support of more zones
  • support of mc-link
  • setting of min and max values according features
  • admin v3

0.0.6

  • widget set matching the objects and control
  • cd.shuffle_stat boolean -> text
  • new netusb.shuffle_stat (text)
  • status update via subscribing UDP messages
  • switch for update on playtime info (disabling reduces traffic)

0.0.5

  • cleanup in admin page
  • improvement for object creation
  • more objects on netusb
  • more objects in system
  • added support of CD

0.0.4

  • new objects and functions (input, sound_prog, EQ, clearVoice)
  • search/discovery in admin page

0.0.3

  • more objects implemented

0.0.2

  • minor corrections

0.0.1

  • initial release with setting of IP in config-page,
  • available commands power, mute, volume

License

The MIT License (MIT)

Copyright (c) 2017 - 2023 foxthefox foxthefox@wysiwis.net

Package Sidebar

Install

npm i iobroker.musiccast

Weekly Downloads

50

Version

1.1.3

License

MIT

Unpacked Size

348 kB

Total Files

29

Last publish

Collaborators

  • bluefox
  • foxthefox