Skip to content

Datapoints

Johannes Krobath edited this page Oct 2, 2026 · 17 revisions

English | Deutsch

Datapoints

Do I need this page?

Read on if you are looking for a specific datapoint, if you are moving scripts from an older version, or if you want to know what a folder is for.

How the tree is built

Every receiver becomes one device node. Below it sit themed folders. A fully equipped AV receiver with three zones gets a large tree, a soundbar a small one, because the adapter creates only what the device confirms it can do.

yamaha.0.<model>-<end of serial>          e.g. yamaha.0.rx-v6a-1a2b
├── power · volume · mute · input · soundProgram · sleep      ← the amplifier core
├── info.*          model, firmware, IP, connection, protocols
├── player.*        what is playing, transport, browsing, sources
├── tuner.*         band, frequency, presets, RDS, DAB
├── sound.*         tone, surround, equalizer, signal info
├── multiroom.*     zones 2/3/4, party mode, MusicCast groups
├── scene.*         scene recall and the scene list
├── hdmi.*          HDMI outputs, lip sync
├── remote.*        the on-screen remote (cursor, menu)
└── advanced.*      setup-level: maximum volume, input names, speakers

Zones repeat the same shape: multiroom.zone2.volume, multiroom.zone2.volumeUp, multiroom.zone2.volumeDown, multiroom.zone2.muteLevel, multiroom.zone2.player.artist and so on. What is device-wide (party mode, master power, the MusicCast group) sits directly in multiroom.

The amplifier core — never switched off

Six datapoints, directly under the device node, and the ones most scripts use. They cannot be switched off; a device gets those it has — a speaker has no sound program, some soundbars no sleep timer.

Datapoint What it does
power on / off
volume how loud, in the scale your receiver itself shows — see the box below
mute muted yes/no — also yes while the receiver only lowers the sound (−20 / −40 dB)
input the source; the dropdown carries the names you gave the sockets on the device
soundProgram the sound program / DSP mode
sleep sleep timer — the receiver's own steps (Off, 30 min …); a MusicCast-only device counts minutes

Next to them, where the device has them:

Datapoint What it does
yamaha.0.<device>.volumeUp · yamaha.0.<device>.volumeDown one step up or down, for a button
yamaha.0.<device>.muteLevel full mute or the −20 / −40 dB lowering, readable and writable
zoneName the zone's own name as the receiver stores it; writing it renames the zone on the device itself, up to 9 characters

About volume: the datapoint carries what the receiver displays — decibels on a receiver with a decibel display, its own number scale otherwise, and the range is what that receiver accepts. Zones can differ from each other, because the receiver declares them per zone. If you would rather have 0–100 % (most VIS widgets expect that), switch on Volume as 0–100 % — in the add/edit dialog of that receiver's card, where its name and address are; the card then shows a speaker with a percent sign and the current volume as "42 %", so you can see it without opening anything. Then every volume datapoint of it, in every zone, is a percentage. The switch belongs to the device: one receiver in percent says nothing about the others.

A value you write is confirmed (ack) once the device reports it back. If the device refuses it, the datapoint shows the device's own value again and the log says why.

Dropdowns show their values in your ioBroker language — "Paused", "Not muted", "FM (VHF)". What a script reads and writes stays the value underneath (0, Off, FM); only names the device or you gave (inputs, scenes, sound programs) keep the device's words.

info — what the adapter knows about the device

info.model, info.firmware, info.ip, info.connection (is the device reachable) and info.transports.ynca / .yxc / .xml — which protocols answered. See Protocols.

player — what is playing

One block per zone, and it always describes whatever that zone is listening to — no matter whether that is the tuner, Spotify, a server or the CD drive. You do not have to look in a different place per source.

  • Now playing: player.artist, player.album, player.track, player.albumArt (the web address of the cover), player.source (the input's name, e.g. NET RADIO)
  • Transport: player.playback (the ioBroker codes: 0 pause, 1 play, 2 stop), player.next, player.prev, player.repeat (0 off, 1 one, 2 all), player.shuffle — repeat and shuffle can be written where the device takes them; on a receiver from before 2010 the block shows player.station too, for a radio source
  • Times: player.elapsedTime and player.totalTime as numbers in seconds (for widgets), player.elapsedTimeText and player.totalTimeText as readable text (1:23)
  • Browsing: player.browse.* mirrors the device's media menu — eight visible lines, selectLine acts like OK on the remote, path walks a whole path like Bookmarks>Radio Paradise in one write; on MusicCast devices player.browse.playLine plays a whole folder (an album, a playlist) where the device allows it
  • Per source: player.netPlayer.* (favourites, recent, playlists, and player.netPlayer.playError / player.netPlayer.playMessage — the device's own report why something did not play), player.cd.* (the drive), player.bluetooth.* (pairing), player.airplay.*, and on receivers with YNCA one block per network source — player.netRadio.*, player.server.*, player.usb.*, player.napster.*, player.spotify.*: preset recalls the source's stored favourite by number, presetSave stores what plays, player.netRadio.bookmark bookmarks the station
  • Lists as single datapoints: every favourite, recent item and playlist is a folder of its own — player.netPlayer.favourites.1.name / .input, player.netPlayer.recentItems.1.name and player.netPlayer.recentItems.1.input, player.netPlayer.playlistNames.1.name — next to the JSON list, so a script reads one value instead of parsing. player.netPlayer.presetSave and player.netPlayer.presetClear store and clear a favourite, player.netPlayer.playErrorText says in words why something did not play, player.netPlayer.playPosition jumps within the track, player.netPlayer.queueLength / player.netPlayer.queuePosition tell where in the queue it is, and player.netPlayer.queueTracks.1.name … holds one track of the queue each

tuner — radio

One band, one frequency, one preset for AM, FM and DAB: tuner.band, tuner.frequency (always in kHz), tuner.preset, plus tuner.presetUp / presetDown / presetSave and tuner.presetClear, tuner.searchUp and tuner.searchDown (search the next station) and tuner.presets as a JSON list. Every stored station is also a folder of its own — tuner.storedStations.fm.1.name / .frequency / .band (one folder per band where the device keeps them per band, e.g. tuner.storedStations.dab.1.name, tuner.storedStations.dab.1.frequency, tuner.storedStations.dab.1.band). RDS texts sit in tuner.rdsService / rdsText / rdsTextB / rdsProgramType — only those the tuner actually delivers. Genuinely DAB-specific detail (service, ensemble, DLS, quality, scan) is under tuner.dab.*, with tuner.dab.serviceUp / tuner.dab.serviceDown to step through the services. On DAB the frequency cannot be written; a write shows the current value again.

sound — tone and processing

Tone controls (sound.bass, sound.treble, sound.subwooferTrim, sound.balance, and sound.toneMode where the device switches between automatic and manual tone), the equalizer under sound.equalizer.*, dialogue (sound.dialogueLevel, sound.dialogueLift), processing switches (sound.direct, sound.pureDirect, sound.enhancer, sound.extraBass, sound.adaptiveDrc, sound.clearVoice, sound.surroundDecoder, sound.surround3d), the MusicCast Link settings (sound.linkControl, linkAudioDelay, linkAudioQuality) and — on MusicCast devices — the current audio signal under sound.signal.* (format, bitrate, sample rate). Each of them is writable where the device declares a way to set it.

multiroom — zones and groups

  • Zones: multiroom.zone2 … zone4, each with its own power, input, scenes and player block, zones 2 and 3 also with volume and mute. Zone 4 is deliberately thin — power, input, sleep and scenes is all any model offers there.
  • All zones at once: multiroom.masterPower, multiroom.party, multiroom.partyVolumeUp / Down
  • Zone B: multiroom.zoneB.* on receivers with a second speaker zone, including volumeSync where the device offers it
  • MusicCast group: multiroom.group.* — role (server, client or none, as the group really is), name (writable), multiroom.group.status (building, working, deleting), linked devices, linkDevice and leave to build and break groups. Linking switches the joining zone to MusicCast Link; a group can take a few minutes to build, status says when it works. A client zone that switches away from MusicCast Link leaves the group.

The smaller folders

Folder What is in it
scene scene.recall (writable by number or title), scene.list as JSON with every slot, and one datapoint per scene title: scene.title1, scene.title2, scene.title3, scene.title4, scene.title5, scene.title6, scene.title7, scene.title8, scene.title9, scene.title10, scene.title11, scene.title12
clock the clock and alarm of MusicCast clock radios: time sync, 12/24-hour format, and the alarm — writable where the device takes it
hdmi the HDMI outputs and standby-through
remote remote.cursor and remote.menu — the on-screen remote: up, down, left, right, select, return, home; zones with a remote of their own carry it under multiroom.zone2.remote.*
advanced setup-level values: advanced.maxVolume, advanced.inputNames.*, speaker settings (advanced.speakers.*, speaker A/B, pattern), advanced.irSensor, advanced.displayBrightness, auto power standby

Switching whole groups off

The instance settings have a Data points section: Playback & browsing, Tuner, Multiroom, HDMI, Scenes, Sound, Advanced, Clock & alarm. A group you switch off is removed from the tree and not even queried, which also speeds up the start. The amplifier core always stays.

A datapoint you expected is missing?

Almost always the device does not have the ability — see Devices and Protocols. If your device clearly has it, please open an issue with the model name, the adapter version and the contents of info.transports.*.

Clone this wiki locally