Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aangert/homebridge-musiccast-tv
Homebridge plugin for Yamaha MusicCast devices
https://github.com/aangert/homebridge-musiccast-tv
homebridge homebridge-plugin homekit musiccast yamaha-musiccast
Last synced: 2 months ago
JSON representation
Homebridge plugin for Yamaha MusicCast devices
- Host: GitHub
- URL: https://github.com/aangert/homebridge-musiccast-tv
- Owner: aangert
- License: gpl-3.0
- Created: 2019-08-24T23:22:41.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-11-09T18:30:53.000Z (about 3 years ago)
- Last Synced: 2024-10-27T23:52:17.956Z (2 months ago)
- Topics: homebridge, homebridge-plugin, homekit, musiccast, yamaha-musiccast
- Language: JavaScript
- Homepage:
- Size: 118 KB
- Stars: 16
- Watchers: 7
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# homebridge-musiccast-tv
[![npm](https://img.shields.io/npm/v/homebridge-musiccast-tv)](https://npmjs.com/package/homebridge-musiccast-tv)
[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/aangert/homebridge-musiccast-tv.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/aangert/homebridge-musiccast-tv/context: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
```json
"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](https://github.com/homebridge/homebridge)
```shell
sudo npm install -g homebridge
sudo npm install -g homebridge-musiccast-tv
```
### Configure HomebridgeYou can get information about your MusicCast device by visiting
"http://\/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
- check you are using the right ip-adress
- check your log file for error messages
- run in debug mode using "homebridge -D" and file an issue## Common issues
### Input appears as additional tile
- remove and repair Homebridge
- restart Homebridge### 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:
- only one TV appears in the TV widget
- one or multiple TVs have problems syncing to Homebridge
- one or more TVs are flashing in the Home appTo fix these Issues make sure there is just one TV per Homebridge instance. You can run [multiple Homebridge instances](https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Raspbian#multiple-instances) per device.
## TODO
- [x] add fan service for volume control
- [ ] fix symbol
- [ ] create plattform accesory