GithubHelp home page GithubHelp logo

homebridge-musiccast's Introduction

Homebridge Yamaha MusicCast Multiroom Plugin verified-by-homebridge

Official MusicCast support in Apple HomeKit is limited. This plugin provides quick access to favorite presets, input source selection and power/volume control within the Apple Home app. Speakers will always be linked to their MusicCast server.

Configuration:

  • server: IP address or hostname of the Yamaha receiver (or main MusicCast speaker) that will serve music to the clients
  • clients: IP addresses or hostnames of the Yamaha speakers (or other MusicCast devices) that will be connected to the server
{
    "server": {
        "host": "192.168.178.80",
        ...
    },
    "clients": [
        {
            "host": "192.168.178.81",
            ...
        },
        {
            "host": "192.168.178.82",
            ...
        }
    ],
    "platform": "MusiccastMultiroom"
}

Volume

The current Apple Home app doesn't really support volume for speakers and receivers, so the source selector is "misused" to quickly adjust volume in 6 steps.

Lower and upper volume limits can be adjusted in the settings for each device. Something like 25% (lower limit) to 65% (upper limit) is probably reasonable for most environments.

{
    "server": {
        ...
        "volumePercentageLow": 25,
        "volumePercentageHigh": 65,
        ...
    },
    "clients": [
        {
            ...
            "volumePercentageLow": 30,
            "volumePercentageHigh": 65
        }
    ],
    "platform": "MusiccastMultiroom"
}

Input Sources

For the server device, there will be a separate accessory to select the input source. It will provide all favorites saved on the device. Use the Yamaha MusicCast app to save, edit and order favorites.

Additional inputs like HDMI can be added and named in the settings:

{
    "server": {
        ...
        "inputs": [
            {
                "input": "audio3",
                "name": "Plattenspieler"
            },
            {
                "input": "airplay",
                "name": "Airplay"
            },
            {
                "input": "hdmi1",
                "name": "Apple TV"
            }
        ]
    },
    ...
    "platform": "MusiccastMultiroom"
}

Input sources that provide their own content (like Amazon Music, Net Radio, Spotify, etc.) are more useful when specific playlists or stations are saved as favorites in the Yamaha MusicCast app. Those will then be availabe in HomeKit.

Available input sources for a Yamaha receiver include for example:

airplay
alexa
amazon_music
audio1
audio2
audio3
aux
av1
av2
av3
bluetooth
deezer
hdmi1
hdmi2
hdmi3
hdmi4
mc_link
napster
net_radio
qobuz
server
spotify
tidal
tuner
usb

Additional switches

When supported by the server device, up to two additional switches will be published:

  • Surround Decoder:
    • on: set sound program to Surround Decoder
    • off: set sound program to Straight
  • Lip Sync:
    • on: set link audio delay to Lip Sync, which prefers lipsync between audio and hdmi video (and may cause delays between connected speakers)
    • off: set link audio delay to Audio Sync, which prefers audio sync between all connected speakers (and may cause delays between audio and hdmi video)

Language

Initial names for devices/switches etc. will all be in English, rename them if necessary in your HomeKit app.

homebridge-musiccast's People

Contributors

cgierke avatar josser avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

homebridge-musiccast's Issues

Zone2 support

Currently a RX-A1050 with Main zone = living room and zone2 = kitchen is running in our home.
It would be nice if you could add a zone support to your wonderful plugin :-)
An on/off switch of the main-sync for zone2 would be nice!
Maybe with a volume control and an off toggle switch in settings (when leaving home)
Thanks again for your plugin!

Clients not linking when activated via HomeKit scene

Hi. Finding this plugin really useful. It is particularly useful for use in HomeKit scenes. However, when the server and several clients are activated at the same time via a scene, often the clients don't link. I think this may due to the server not being ready when clients try to connect. Would it be possible to try adding a short delay before clients try to connect? Thanks

Problem with plugin after updating raspbian to 12 and node to 20.9

Hi,
I have some problem with plugin after updating raspbian to v. 12 and node to 20.9.x. Before that plugin work perfectly :(

Log from console
[16.11.2023, 16:15:11] [MusiccastMultiroom] Restarting Process... [16.11.2023, 16:15:12] [MusiccastMultiroom] Launched child bridge with PID 66033 [11/16/2023, 4:15:12 PM] Registering platform 'homebridge-musiccast-multiroom.MusiccastMultiroom' [16.11.2023, 16:15:12] [MusiccastMultiroom] Loaded homebridge-musiccast-multiroom v0.2.4 child bridge successfully [11/16/2023, 4:15:12 PM] Homebridge v1.7.0 (HAP v0.11.1) (MusiccastMultiroom) is running on port 42892. [11/16/2023, 4:15:12 PM] [MusiccastMultiroom] publishing accessory YMS-4080 [11/16/2023, 4:15:12 PM] [MusiccastMultiroom] publishing accessory Preset YMS-4080 [11/16/2023, 4:15:12 PM] [MusiccastMultiroom] publishing accessory LipSync YMS-4080 [11/16/2023, 4:15:13 PM] YMS-4080 1432 is running on port 36695. [11/16/2023, 4:15:13 PM] Please add [YMS-4080 1432] manually in Home app. Setup Code: 987-20-730 [11/16/2023, 4:15:13 PM] Preset YMS-4080 A8B6 is running on port 45713. [11/16/2023, 4:15:13 PM] Please add [Preset YMS-4080 A8B6] manually in Home app. Setup Code: 987-20-730 [11/16/2023, 4:15:13 PM] LipSync YMS-4080 1A84 is running on port 35897. [11/16/2023, 4:15:13 PM] Please add [LipSync YMS-4080 1A84] manually in Home app. Setup Code: 987-20-730 Error: connect EHOSTUNREACH 192.168.1.56:80 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1595:16) [16.11.2023, 16:15:15] [MusiccastMultiroom] Child bridge process ended [16.11.2023, 16:15:15] [MusiccastMultiroom] Process Ended. Code: 1, Signal: null [16.11.2023, 16:15:22] [MusiccastMultiroom] Restarting Process...

my yamaha RX-V683 is not expose on my home kit

hi All, I have install Homebridge -musiccast and it wotking well on accessories the equipements reacting well but on my home kit nothing is showing<
Can some one help please?
the logs .
publishing accessory Surround Decoder RX-V683
[13/05/2023, 21:11:51] WX-010 3EC4 is running on port 44493.
[13/05/2023, 21:11:51] Please add [WX-010 3EC4] manually in Home app. Setup Code: 211-59-898
[13/05/2023, 21:11:51] RX-V683 0B80 is running on port 33397.
[13/05/2023, 21:11:51] Please add [RX-V683 0B80] manually in Home app. Setup Code: 211-59-898
[13/05/2023, 21:11:51] Preset RX-V683 3D1E is running on port 34197.
[13/05/2023, 21:11:51] Please add [Preset RX-V683 3D1E] manually in Home app. Setup Code: 211-59-898
[13/05/2023, 21:11:51] LipSync RX-V683 0F28 is running on port 43183.
[13/05/2023, 21:11:51] Please add [LipSync RX-V683 0F28] manually in Home app. Setup Code: 211-59-898
[13/05/2023, 21:11:51] Surround Decoder RX-V683 A13D is running on port 43181.
[13/05/2023, 21:11:51] Please add [Surround Decoder RX-V683 A13D] manually in Home app. Setup Code: 211-59-898

Order of inputs since iOS 17 update

The order of input sources for a device seems random since the iOS 17 update. This makes adjusting volume using input sources a bit silly, since the volume steps are in random order now. There's nothing we can do here, for now I assume it is a bug that will be fixed by Apple.

image

Add Scene as Input

Hallo,

Thanks for the plugin, so far it works as it should. Is it also possible to add scenes as input?

Plugin no longer working

Hi,

Not sure since when or how exactly, but the musiccast plugin is no longer working for me.
The following is appearing in the homebridge logs

[20/11/2023, 13:23:58] [Musiccast] invalid config TypeError: Cannot read properties of undefined (reading 'map')
at new MusiccastMultiroom (/var/lib/homebridge/node_modules/homebridge-musiccast-multiroom/src/main.ts:43:41)
at ChildBridgeFork.startBridge (/var/lib/homebridge/node_modules/homebridge/src/childBridgeFork.ts:150:42)

I hope someone can assist?

Error on plugin start - Yamaha MusicCast BAR 40

Hi,

I have a problem with your plugin. Could you tell me what should I do to add plugin to homebridge? Screen + config below.

Zrzut ekranu 2023-05-23 o 12 54 46

{ "name": "MusiccastMultiroom", "server": { "host": "192.168.x.xx", "volumePercentageLow": 25, "volumePercentageHigh": 65 }, "platform": "MusiccastMultiroom", "_bridge": { "username": "0E:CB:8D:xx:xx:xx:xx", "port": 59092 } }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.