Zum Hauptinhalt springen

Yamaha MusicCast Smart-Home-Integration, kostenlos und Open Source

Yamaha MusicCast-Integration für Gladys Assistant

Steuere deine Yamaha-MusicCast-Verstärker, Soundbars und Lautsprecher lokal, Zone für Zone.

Steuere deine Yamaha-MusicCast-Geräte mit Gladys: AV-Receiver, Soundbars, Netzwerklautsprecher und Netzwerkplayer. Alles bleibt in deinem lokalen Netzwerk: Die Integration spricht mit jedem Gerät über die offizielle Yamaha-Extended-Control-API, ohne Konto und ohne Cloud.

Ohne die Hardware entwickelt: Rückmeldungen sind willkommen. Diese Integration wurde nach der öffentlichen Yamaha-Extended-Control-Spezifikation und nach den Antworten geschrieben, die die Open-Source-Projekte für diese Geräte festgehalten haben, ohne ein MusicCast-Gerät zur Hand. Wenn sich etwas nicht wie beschrieben verhält, eröffne ein Issue im GitHub-Repository und nenne dein Modell.

Diese Integration ist nicht mit Yamaha verbunden (Yamaha Corporation). MusicCast ist eine Marke der Yamaha Corporation.

Was du bekommst​

  • Ein Gladys-Gerät pro Zone: die Hauptzone und Zone 2, 3 oder 4 der Receiver, die sie haben, jede unabhängig ein- und ausgeschaltet, geregelt und umgeschaltet.
  • Betrieb, Lautstärke und Stummschaltung jeder Zone. Die Lautstärke wird in Prozent des Bereichs der Zone angezeigt, der Skala des Musik-Widgets von Gladys.
  • Eingang: eine Liste der Eingänge der Zone (HDMI, Tuner, Spotify, Net Radio, AirPlay...), mit den Namen, die du ihnen am Gerät gegeben hast.
  • Klangprogramm (DSP) bei den Zonen, die eins haben.
  • Wiedergabe der Netzwerkquellen: Wiedergabe, Pause, zurück, weiter, Wiedergabestatus sowie Titel, Interpret und Album.
  • Favoriten (Presets): eine Liste der am Gerät gespeicherten Favoriten, um einen aufzurufen.
  • Ein Dashboard-Widget pro Zone, ein Szenen-Auslöser „ein Titel startet“ und zwei Szenenaktionen: Favorit aufrufen, Eingang wählen.

Voraussetzungen​

  • Gladys 5.1.0 oder neuer.
  • Ein Yamaha-Gerät mit MusicCast (es erscheint in der MusicCast-App), im selben lokalen Netzwerk wie Gladys.
  • Um ein Gerät im Standby zu steuern, aktiviere sein Network Standby (Netzwerk-Einstellungen des Geräts oder der MusicCast-App). Ohne das antwortet ein Gerät im Standby nicht mehr.
  • Eine feste IP-Adresse für jedes Gerät (eine DHCP-Reservierung im Router) wird empfohlen. Die Integration findet ein Gerät nach einem Adresswechsel wieder, aber bis zu 10 Minuten später.

Konfiguration​

Einstellungen​

FeldWirkung
IP-Adressen (optional)Adressen der Geräte, die die Netzwerksuche nicht findet, durch Kommas getrennt.
Aktualisierung im BetriebWie oft ein Gerät gelesen wird, solange eine seiner Zonen an ist: 5, 10, 15 oder 30 Sekunden. Im Standby oder ohne Antwort 30 Sekunden.
Sprache der FunktionsnamenNamen der Funktionen der danach hinzugefügten Zonen und Sprache der Meldungen der Szenenaktionen.

Die Geräte finden​

Beim Start und bei jedem Klick auf Scannen im Tab „Entdecken“ sucht Gladys für die Integration im Netzwerk nach UPnP-Medienwiedergabegeräten (SSDP); die Integration behält die, die die Yamaha-Extended-Control-API angeben. Die Schaltfläche MusicCast-Geräte suchen auf der Konfigurationsseite macht dasselbe und sagt dir, was gefunden wurde, welche Adressen nicht geantwortet haben und welche eingetragenen Adressen ungültig sind.

Wird ein Gerät nicht gefunden (ein Netzwerk, das Multicast blockiert, ein anderes Subnetz), trag seine IP-Adresse in der Konfiguration ein.

Die Zonen hinzufügen​

Jede Zone erscheint im Tab Entdecken, benannt nach dem Gerät („Wohnzimmer“) und der Zone („Wohnzimmer Zone2“). Klicke bei den gewünschten auf Zu Gladys hinzufügen. Nur die zu Gladys hinzugefügten Zonen werden regelmäßig gelesen.

Geräte​

Funktionen einer Zone​

FunktionTyp in GladysHinweise
BetriebEin/Aus-SchalterAn / Standby.
LautstärkeMusiklautstärke (0-100 %)Prozent des Bereichs der Zone (0 bis 161 Schritte bei einem Receiver, 0 bis 60 bei einem Lautsprecher...).
StummEin/Aus-Schalter
EingangAuswahlDie Eingänge der Zone, mit den am Gerät vergebenen Namen.
KlangprogrammAuswahlNur bei Zonen mit Klangprogrammen (Receiver, Soundbars).
FavoritAuswahlRuft einen gespeicherten Favoriten auf; zeigt den zuletzt aus Gladys aufgerufenen, bis der Eingang wechselt.
Wiedergabe, PauseMusiktastenNur Netzwerkquellen. Pause stoppt ein Live-Radio.
Vorheriger, Nächster TitelMusiktastenNur Netzwerkquellen.
WiedergabestatusMusik-WiedergabestatusLäuft / läuft nicht.
Titel, Interpret, AlbumTextWas eine Netzwerkquelle spielt; sonst „—“.

Die Wiedergabefunktionen gibt es nur bei Geräten mit Netzwerkmodul, das sich alle Zonen eines Geräts teilen: Bei einer Zone, die einen anderen Eingang hört (HDMI, Tuner...), werden die Wiedergabetasten abgelehnt, damit sie nicht die Musik einer anderen Zone anhalten.

Die Zonen funktionieren auch mit der Musik-Box des Gladys-Dashboards (Wiedergabe, Pause, zurück, weiter und Lautstärke).

Aktualisierung​

Das Gerät könnte seine Änderungen selbst melden, aber nur an einen Port des Containers der Integration, den Gladys nicht im Netzwerk freigibt. Die Integration liest daher jedes Gerät selbst, ohne sich auf die Abfrage von Gladys zu verlassen: standardmäßig alle 5 Sekunden, solange eine Zone an ist, alle 30 Sekunden im Standby. Ein Lesen ist eine Anfrage pro hinzugefügter Zone, plus eine für die laufende Wiedergabe, wenn eine Zone eine Netzwerkquelle hört. Yamaha nennt für diese lokale API keine Anfragegrenze; die offizielle MusicCast-App liest die Geräte in ähnlichem Takt. Die Favoriten werden alle 5 Minuten neu gelesen.

Nur die geänderten Werte werden an Gladys gesendet, dazu alle 6 Stunden eine Erinnerung, damit ein stabiler Wert nie veraltet wirkt.

Dashboard-Widget​

Das Widget MusicCast zeigt eine Zone (in seinen Einstellungen zu wählen):

  • was läuft (Titel, Interpret, Album) bei einer Netzwerkquelle;
  • die Lautstärke, live;
  • Betrieb, Eingang und Klangprogramm, und „Stumm“, wenn der Ton aus ist;
  • bis zu vier Tasten: Einschalten / Standby, Wiedergabe oder Pause, nächster Titel, Stumm.

Szenen-Auslöser​

MusicCast: ein Titel startet löst aus, wenn die Wiedergabe startet oder der Titel wechselt, bei einer Netzwerkquelle (Spotify, Net Radio, AirPlay, Server...). Du kannst ihn auf eine Zone beschränken. Die Szene erhält Titel, Interpret, Album und den Namen des Eingangs als Variablen. Er löst nicht für das aus, was beim Start der Integration schon lief.

Szenenaktionen​

  • MusicCast-Favorit aufrufen: spielt Favorit Nummer N (1 bis 40) auf einer Zone, wie die Tasten der Fernbedienung. Die Zone geht an. Ausgabe: der Name des Favoriten.
  • MusicCast-Eingang wählen: schaltet eine Zone auf einen Eingang, angegeben per Kennung (hdmi1, tuner, spotify, net_radio, airplay...) oder per Namen am Gerät („Apple TV“). Die Zone geht zuerst an. Ausgabe: der Name des Eingangs. Ein unbekannter Eingang schlägt mit der Liste der Eingänge der Zone fehl.

Um eine Zone in einer Szene auszuschalten oder ihre Lautstärke einzustellen, nutze die übliche Aktion Gerätewert setzen mit ihren Funktionen Betrieb und Lautstärke.

Szenenbeispiele​

  • Radiowecker: werktags um 7:00 Favorit 1 (dein Morgenradio) auf dem Lautsprecher im Schlafzimmer aufrufen, dann seine Lautstärke auf 20 % stellen.
  • Filmabend: wenn der Fernseher angeht, am Receiver im Wohnzimmer den Eingang hdmi1 wählen und das „Klangprogramm“ auf ein Kinoprogramm stellen.
  • Haus verlassen: wenn die letzte Person geht, alle Zonen in Standby schalten.
  • Aktuelle Wiedergabe: wenn in der Küche ein Titel startet, dir „{{triggerEvent.data.title}} — {{triggerEvent.data.artist}}“ schicken.

Fehlerbehebung​

  • Kein Gerät im Tab „Entdecken“: klicke in der Konfiguration auf MusicCast-Geräte suchen. Wird nichts gefunden, trag die IP-Adresse des Geräts ein (in der MusicCast-App unter Einstellungen → Gerät → Netzwerk). Prüfe, ob sich http://<adresse>/YamahaExtendedControl/v1/system/getDeviceInfo in einem Browser deines Netzwerks öffnet: Die Seite muss "response_code":0 zeigen.
  • Die Zone ist „nicht erreichbar“: Das Gerät ist ausgesteckt, nicht im Netzwerk oder im Standby ohne Network Standby. Die Integration versucht es alle 30 Sekunden erneut und sucht alle 10 Minuten erneut im Netzwerk (neue DHCP-Adresse).
  • Ein Befehl wird abgelehnt: Manche Befehle sind gesperrt, solange die Zone im Standby ist (zum Beispiel die Lautstärke), und manche Modelle lehnen Funktionen ab, die sie nicht haben. Schalte die Zone zuerst ein.
  • Wiedergabe, Pause oder weiter tun nichts bei einer Zone: Diese Tasten wirken nur bei Netzwerkquellen. Wähle zuerst einen Netzwerkeingang.
  • Logs: Die Integration schreibt nur den Start, gefundene, verlorene und zurückgekehrte Geräte und eine Zeile pro Befehl. Setze die Umgebungsvariable LOG_LEVEL=debug, um jedes Lesen zu sehen.

Grenzen​

  • Multiroom (MusicCast Link) ist nicht abgedeckt: Gruppen erstellt oder verlässt man in der MusicCast-App. Eine Zone, die einer Gruppe folgt, zeigt den Eingang „MusicCast Link“.
  • Der Tuner (UKW/DAB) wird nur als Eingang gewählt oder über einen Favoriten aufgerufen; sein Sender wird nicht als Titel angezeigt.
  • Das Gerät sagt nicht, welcher Favorit läuft: Die Favoritenliste zeigt den zuletzt aus Gladys aufgerufenen.
  • Änderungen werden beim nächsten Lesen gesehen (standardmäßig 5 Sekunden), nicht sofort.
  • Die Funktionsnamen werden beim Hinzufügen einer Zone zu Gladys festgelegt; ein späterer Sprachwechsel gilt nur für danach hinzugefügte Zonen.
  • Ohne die Hardware entwickelt: Die Antworten stammen aus der Yamaha-Spezifikation und aus Open-Source-Projekten. Deine Rückmeldungen helfen.

Konfigurationseinstellungen​

Diese Einstellungen fragt Yamaha MusicCast in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Deine MusicCast-GerätesectionNeinGladys findet die Geräte im Netzwerk (SSDP), ohne Konto und ohne Cloud. Jede Zone (Hauptzone, Zone 2...) erscheint im Tab „Entdecken“. Wird ein Gerät nicht gefunden, trag unten seine IP-Adresse ein: Gib ihm im Router eine feste Adresse.
IP-Adressen (optional)stringNeinNur für Geräte, die die Netzwerksuche nicht findet, durch Kommas getrennt.
Aktualisierung im BetriebselectJaWie oft ein Gerät gelesen wird, solange eine seiner Zonen an ist. Im Standby alle 30 Sekunden.
Sprache der FunktionsnamenselectJaGilt für Zonen, die nach einer Änderung hinzugefügt werden, und für die Meldungen der Szenenaktionen.

So installierst du Yamaha MusicCast in Gladys​

  1. Öffne in Gladys Integrationen: Yamaha MusicCast erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/guim31/gladys-musiccast:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-musiccast.

Yamaha MusicCast benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Yamaha MusicCast ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂