aangert / homebridge-musiccast-tv

Homebridge plugin for Yamaha MusicCast devices
GNU General Public License v3.0
16 stars 3 forks source link
homebridge homebridge-plugin homekit musiccast yamaha-musiccast

homebridge-musiccast-tv

npm Language grade: JavaScript

Features

This plugin publishes MusicCast devices as HomeKit compatible TVs. It supports any number of inputs and volume control via the Apple TV Remote widget in the iOS Control Center. You can enable an additional fan service for volume control by adding volumeFan = 1 and volumeName to your config.json.

Configuration

    "accessories": [{
        "accessory": "MusicCastTV",
        "name": "Living Room Radio",
        "ip": "192.168.178.2",
        "inputs": {
            "airplay": "AirPlay", 
            "am": "AM", 
            "fm": "FM", 
            "line_cd": "CD", 
            "hdmi1": "DVD Player", 
            "server": "Homeserver", 
            "net_radio": "Online radio"
            }
    }]

Installation

Install Homebridge

sudo npm install -g homebridge
sudo npm install -g homebridge-musiccast-tv

Configure Homebridge

You can get information about your MusicCast device by visiting "http://\<ip>/YamahaExtendedControl/v1/system/getFeatures".

config arguments:

name example description required
accessory MusicCastTV this value is used to identify this plugin yes
name "TV stereo" the name of your device yes
ip 192.168.178.29 ip address for your MusicCast device yes
zone "zone2" MusicCast zone from getFeatures.json, default: "main" no
inputs {"fm": "radio", "line_cd": "CD", "airplay": "AirPlay"} one key:value pair for each input you want to use. You can hide inputs by removing the checkbox in your HomeKit app or by removing it here. yes
model "Yamaha R-N602" device model shown in homebridge no
serialNo "123-456-789" serial number shown in homebridge no
volumeFan 1 show additional fan service for volume control no
volumeName "TV speaker" the name of the additional fan service no
buttonNumber 11 show additional switch for setting the radio to favourite station no ... no
buttonName "radio station 11" the name of the additional switch no
buttonBand "fm" the tuner band for the additional switch no
powerOnInput "line_cd" input automatically switched to at powerOn no
powerOnVolume 60 Volume your device is set to at powerOn no
updateInterval 1000 time between updates im ms no
volume 100 initial Volume; automatically detected no
maxVol 161 maxVol from getFeatures.json; automatically detected no

Currently supported inputs:

Input Name Implemented
phono yes
line_cd yes
line1 yes
line2 yes
line3 yes
usb yes
usb_dac yes
airplay yes
bluetooth yes
net_radio yes
server yes
optical yes
optical1 yes
optical2 yes
coaxial yes
coaxial1 yes
coaxial2 yes
hdmi yes
hdmi[1-8] yes
aux yes
aux1 yes
aux2 yes
v_aux yes
av[1-7] yes
cd yes
tv yes
analog yes
multi_ch yes
audio yes
audio[1-4] yes
audio_cd yes
digital yes
digital1 yes
digital2 yes
bd_dvd yes
mc_link yes
main_sync no
tuner types:
fm yes
am yes
dab yes
streaming services:
spotify yes
amazon_music yes
deezer yes
napster yes
qobuz yes
juke yes
tidal yes
pandora yes
siriusxm yes
radiko yes
alexa yes

If your MusicCast device supports additional inputs, please file an issue.

hdmi[1-8] summarizes hdmi1, hdmi2, ..., hdmi8

Debugging

Common issues

Input appears as additional tile

Issues with more than one TV per bridge

If you have more than one TV per Homebridge instance you might experience some of the following issues:

To fix these Issues make sure there is just one TV per Homebridge instance. You can run multiple Homebridge instances per device.

TODO