Controls Yamaha AV receivers and MusicCast devices from ioBroker over the local network. It unites the three protocols Yamaha speaks — YNCA (the text control protocol of the networked receivers), MusicCast / Yamaha Extended Control (the richer JSON protocol of the MusicCast generation), and the legacy XML protocol of the oldest pre-2010 models — behind one object tree.
- One adapter for three protocols — classic Yamaha AV receivers over YNCA, MusicCast devices over Yamaha Extended Control, and pre-2010 receivers over the legacy XML protocol, replacing the separate yamaha and musiccast adapters.
- Self-healing connection — a receiver that is off when the adapter starts joins on its own once it answers, and every connection recovers after a reboot or network drop, with a per-device connection indicator. A hiccup on a single protocol reconnects just that protocol; the others keep running.
- Rich, intelligently typed datapoints — amplifier, tone control, HDMI output, DSP and decoder modes, sound programs, party mode, tuner with RDS, and network/USB/server/Spotify players; on/off is a boolean, fixed choices are dropdowns, numbers carry their unit and range.
- Capability-driven object tree — states are generated from what each device actually reports over its protocols, not from a hardcoded model list, and only for the functions it offers.
- Every protocol a device speaks runs together — a MusicCast receiver keeps its YNCA amplifier control and adds its Yamaha Extended Control richness (multiroom, equalizer, media) on one object tree, instead of only one protocol being used per device.
- Automatic discovery — leave the device list empty and MusicCast devices are found on the network and set up on their own at startup; add devices to run only those instead. The search covers every network interface, so a receiver is found even on a multi-homed host; an optional selector can confine it to one.
- Device manager — every receiver appears as a card in the admin showing its model, IP address and the protocols it is currently connected over, with a dialog to add one by IP.
- Node.js >= 22
- js-controller >= 7.2.2
- admin >= 7.8.23
Install the adapter from the ioBroker admin.
Devices are managed in the admin as cards. Leave the list empty and the adapter finds MusicCast devices on the network by itself at startup — nothing to enter. Use the "+" dialog to add a device by IP address to run only those instead; each card shows the device's model, IP and the protocols it is connected over. Discovery searches on every network interface by default, so a receiver is found even on a host with several interfaces; the optional network interface selector confines the search to one if you prefer.
Older Yamaha receivers (before ~2010, the XML protocol) do not announce themselves on the network and must always be added manually with their IP address. The XML query interval in the settings sets how often these older receivers are polled — they push no changes of their own, and the default of 60 seconds is plenty for an AV receiver.
The Data points section switches whole groups of datapoints on or off — playback sources, tuner, extra zones, multiroom, HDMI, scenes, sound processing and advanced setup datapoints. Turn off what your receiver doesn't have or you don't use, and those objects are removed from the tree; the amplifier core (power, volume, mute, input, sound program, sleep) always stays on. Switched-off groups are also skipped when the receiver is queried, so fewer groups mean a faster startup.
- MusicCast changes now arrive instantly again: the adapter registers for the devices' push events — track, volume and multiroom updates no longer wait for the next 5-minute poll.
- Much faster startup and reconnects: the adapter first asks the receiver which sections it has and queries only those; switched-off datapoint groups are skipped entirely.
- A short outage of one protocol no longer tears down the whole device — the affected protocol reconnects on its own while the others keep running.
- The Next/Previous buttons of the classic receivers' streaming sources (Spotify, USB, Net Radio, …) are now actually created — they were missing on real devices.
- Pre-2010 (XML) receivers: bass, treble and subwoofer trim now read and write real decibels — values were off by a factor of 10 (untested on hardware, feedback welcome).
- A failed multiroom link/leave and a device skipped over a duplicate name no longer pass silently, and the add-device dialog tells a name clash apart from an invalid IP address.
- Zone 2/3/4, Zone B and party mode datapoints now sit in the Multiroom folder — scripts using old paths like zone2.power need updating to multiroom.zone2.power.
- You now see at startup which devices are being set up and when each one is ready.
- Zone 2/3/4 and Zone B now sit under the Multiroom toggle — the separate Zones checkbox is gone, because zone switching was always part of multiroom.
- Dialogue lift is adjustable again on receivers that report it — a routing issue had left it read-only.
- MusicCast speakers without a classic amplifier connection now get the Sound and Advanced folders they were missing.
- Subwoofer trim shows its dB unit, and playback labels are now consistently capitalized.
- Sound and Advanced datapoints now sit in a real folder matching their admin toggle, the same way playback, tuner, HDMI, multiroom and scenes already do — no longer visually stuck next to power/volume.
- Fixed: switching the Zones toggle off did not remove the
zone2/zone3/zone4folder.
- New Sound and Advanced datapoint groups, switchable like the others — tone/DSP controls and setup-only datapoints (initial/max volume, input labels) are no longer always on.
- Zone B, the all-zones power switch, party mode and per-zone HDMI/lip-sync now follow their matching Zones/Multiroom/HDMI toggle instead of always staying on.
- A receiver that stays offline no longer spams the log — the first drop still warns, repeated retries stay quiet until it reconnects.
Older changelogs can be found there
The yamaha adapter has a long lineage on ioBroker, and this version continues it — for existing users it is simply a new version of the same adapter:
- soef created the adapter in 2015 and built the original control over Yamaha's XML network protocol, with realtime state updates and multi-zone support.
- Garfonso, Sneak-L8 and Apollon77 contributed over the following years — admin compatibility, fixes and Sentry crash reporting.
- The ioBroker Community Adapters team — notably foxriver76 and mcm1957 — maintained the adapter from 2020 to 2026, releasing versions up to 0.5.4.
- From this version on, krobi rebuilds the adapter from the ground up in TypeScript, uniting the YNCA, MusicCast (YXC) and legacy XML protocols behind one object tree.
The MIT License (MIT)
Copyright (c) 2015-2024 soef soef@gmx.net
Copyright (c) 2026 iobroker-community-adapters iobroker-community-adapters@gmx.de
Copyright (c) 2026 krobi krobi@power-dreams.com
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Developed with assistance from Claude.ai