Nach einem stressigen Tag nach Hause kommen, der Kamin brennt, es läuft angenehme Musik und ist wohlig warm – das ist doch wohl der Traum eines jeden Arbeitenden Menschen… Das mit dem Kamin ist in der Umsetzung nicht ganz so einfach, aber als Homematic User sollte wenigstens die Heizung kein Problem sein. Bleibt also nur noch die Musik. Mit diesem Thema möchte ich mich in diesem Artikel beschäftigen.

Ziel ist es, die Musik automatisch über die CCU2 zu starten, ohne dabei auf Zusatzsoftware zurückzugreifen. Ich werde demnächst noch einen alternativen Weg vorstellen, der allerdings wesentlich mehr Zeugs im Hintergrund benötigt.

Der AV-Receiver

Als AV-Receiver verwende ich den RX-V781 von Yamaha, welchen ich bereits vorgestellt habe. Wer vor der Anschaffung eines neuen Receivers steht: Es funktioniert auch mit den günstigeren Modellen von Yamaha (ab RX-V481 – nicht von mir getestet – ca. 360€), diese besitzen aber nur einen HDMI Ausgang (ich brauche zwei). Mit Modellen von anderen Anbietern wird es auch grundsätzlich möglich sein, aber viele unterstützen keine Steuerung via HTTP-Get. Wenn man Pech hat, muss man also Rohdaten über einen TCP Stream übertragen. Das war für mich einer der Gründe, warum ich mich für einen Receiver von Yamaha entschieden habe.

Vorbedingungen der CCU2

Weiterhin habe ich mich entschieden, keine Zusatzsoftware auf der CCU2 zu verwenden. Grundsätzlich wird häufig empfohlen, für HTTP Anfragen den CUxD zu verwenden. Einmal fällt es mir schwer zu akzeptieren, dass eine einfache HTTP Anfrage zu Abstürzen der CCU2 führen kann und andererseits setzte ich die gleiche Methode seit langem ohne Probleme für Push Benachrichtigungen ein (zum Artikel über die Push-Benachrichtigungen). Wer möchte kann natürlich auch auf CUxD setzen, Google hilft da bestimmt ;)

Das Homematic Skript

In der CCU2 muss natürlich ein Programm erstellt werden, welches zu den gewünschten Bedingungen das Skript ausführt. Wenn die Musik angehen soll, wenn die Haustür geöffnet wird, würde das Programm z.B. so aussehen:

Kommen wir nun zum eigentlichen Skript. Es tut nichts anderes als eine URL via HTTP zu öffnen. Dazu wird die IP des Receivers benötigt, welche übrigens fest eingestellt werden sollte. Entweder im Receiver oder im Router (bzw. DHCP Server). Bevor das ganze als Skript umgesetzt wird, empfehle ich, die URL testweise im eigenen Browser aufzurufen. Der Receiver sollte sofort reagieren. Bis die Musik losgeht vergehen allerdings ein paar Sekunden.




Tut er das nicht, stimmt was mit der URL nicht oder der Receiver ist vom Netzwerk getrennt oder der Eco Modus ist eingeschaltet. Im Eco Modus kann der Receiver nicht per Netzwerk eingeschaltet werden, da der Webserver beendet wird, wenn sich der Receiver im Standby Zustand befindet.

Als Skript wird folgendes hinterlegt (IP korrekt einstellen!!):

Die URL kann beliebig getauscht werden, je nachdem welche Funktion gewünscht ist. Technisch gesehen, würden sich auch verschiedene Befehle kombinieren lassen, aber leider hat Yamaha für jede Funktion intern ein eigenes Programm hinterlegt. Es lässt sich also nicht beim Einschalten direkt eine Lautstärke übergeben. Stattdessen müssen die Befehle nacheinander (!) ausgeführt werden.
Dabei ist es egal in welcher Reihenfolge die Befehle geschickt werden. Wenn zuerst die Lautstärke gesetzt wird, startet der Receiver direkt mit der vorher festgelegten Lautstärke. Das aktivieren eines Eingangs, schaltet den Receiver leider nicht direkt ein. Es sollten sich übrigens auch MusicCast Lautsprecher einschalten lassen, bis jetzt habe ich aber noch keine. Erfahrungsberichte sind Willkommen ;)
Bei Sonos Systemen sollte das etwas komfortabler sein, da sich verschiedene Parameter bei einem Aufruf übergeben lassen, aber ich wollte halt kein Sonos.

Um zu prüfen,welche Funktionen von dem eigenen Receiver unterstützt werden, wird am  die folgende URL in einem Browser aufgerufen:

Das Ergebnis lässt sich mit Hilfe eines JSON-Formatters wesentlich besser betrachten. Hier finden sich nun die Werte in korrekter Schreibweise, welche zum Beispiel gültige Eingänge darstellen (AV1, HDMI1, spotify, …).




Weitere Sinnvolle Befehle sind:

http://192.168.x.y/YamahaExtendedControl/v1/main/setPower?power=on
Mögliche Optionen: on, standby

http://ReceiverIP/YamahaExtendedControl/v1/main/setInput?input=spotify
Mögliche Optionen: napster, juke, qobuz, airplay, mc_link, server, net_radio, bluetooth, usb, tuner, av5, av6, audio1, audio2, phono, main_sync

http://192.168.2.186/YamahaExtendedControl/v1/main/setVolume?volume=80
Die Lautstärke lässt sich von 1 bis 161 einstellen (nicht in dB)

Ich hoffe der Artikel hat euch gefallen und wurde erfolgreich zu Hause umgesetzt. Die Bedingungen im Skript sollten natürlich etwas intelligenter gewählt werden. Ansonsten legt die Musik JEDES mal Los, wenn sich die Türe öffnet ;)

Das könnte Dich auch interessieren

VORSCHAU – Neuigkeit 01.2019 – Homematic IP 6fach-Kontakt-Interface ...
Aufrufe 2062
Ein weiterer sehr interessanter Aktor ist das Homematic IP 6fach-Kontakt-Interface UP, welches unter dem Namen HmIP-FCIS. Damit ist es möglich auch h...
VORSCHAU – Neuigkeit 01.2019 – Homematic IP Fernbedienung mit Montagegurt –...
Aufrufe 1276
Heute möchte ich euch wieder eQ-3 Neuigkeiten vorstellen, die für Januar 2019 angekündigt sind. In diesem Artikel geht es um eine HomeMatic IP Fernbe...
Neue Anleitung – Siri Sprachsteuerung für Homematic Plug and Play ohne Kon...
Aufrufe 1853
Ich habe Euch schon einiges zur Anbindung von Siri und Apple HomeKit an das Homematic-System berichtet. Über die Homebridge und das Homematic-Plugin ...
CCU3 – neues Firmware Release angekündigt – erhöhte Sicherheit
Aufrufe 2197
Es ist soweit, in der 44. KW 2018 wird ein neues Firmware Release veröffentlicht, welches ausschließlich für die Anwender der Homematic Zentrale CCU3 ...
NEUHEIT – Homematic IP Komplettbausatz Schaltplatine – 2-fach HmIP-P...
Aufrufe 3349
Bereits am 25.07.2018 habe ich euch in dem Artikel "Vorschau - Neuigkeiten 09.2018" über diesen Aktor informiert. Nun ist er verfügbar und ich möchte...
NEUHEIT – Homematic IP Funk-Klingeltaster HmIP-DBB, ARR-Bausatz
Aufrufe 2997
Bereits am 25.07.2018 habe ich euch in dem Artikel "Vorschau - Neuigkeiten 09.2018" über diesen Aktor informiert. Nun ist er verfügbar und ich möchte...
8 Kommentare
  1. Dani sagte:

    Hallo zusammen
    Super Artikel und Arbeit von Philipp. Danke
    Steuerung von HM geht via virtuelle Taster mit dem Script.
    Auch andere Netzwerk LS ( bei mir 10 und 30 ) kann ich einschalten und ausschalten.
    Leider schaffe ich es nicht mit dem Verlinken der LS zum Master nicht
    Ziel ist es wenn ich zb in den Wintergarten gehe dass dort auch der LS 30 als Client zum Master aktiviet wird ( Licht ist jetzt schon so via HM)
    Dito im Bad
    Es gibt ne Anleitung aber leider für mich zu kompliziert….
    https://github.com/rsc-dev/pyamaha/blob/master/doc/YXC_API_Spec_Advanced.pdf

    Antworten
  2. Dominik sagte:

    Hallo Philipp,

    leider bekomme ich das nicht hin. Die IP stimmt 100%, über den Webbrowser kann ich meinen RXV 777 auch steuern. Aber leider komme ich mit dem Script doer den URLS von dir nicht hin.

    Noch eine Idee?

    Danke Gruss Dominik

    Antworten
    • Philipp
      Philipp sagte:

      Hi Manuel,

      wichtige Frage. Nein, es gibt keine Authentifizierung. Die API ist aber immer erreichbar, auch wenn du sie nicht nutzt. Die einzige Sicherheit ist die, dass der Receiver nicht über das Internet erreichbar ist, solange du keine Portfreigabe einrichtest. Willst du das tun, solltest du einen reverse proxy mit basic authentication und TLS dazwischen schalten.

      Gruß
      Philipp

      Antworten
  3. Marc sagte:

    Hallo, hast du irgendeine Idee wie man mit der CCU2 abfragen kann, ob die Anlage gerade an ist oder nicht ? Ich steure das ganze mit Echodot über eine Variable. Das Problem ist wenn ich zum Beispiel die Anlage mit Alexa eingeschaltet habe und mit der Fernbedienung aus, dann bleibt die Variable weiterhin auf ein stehen. Ich müsste als vorher irgendwie überprüfen ob die Anlage eingeschaltet ist. Übrigens funktioniert das ganze auch mit dem Eco Modus. Nur wenn ich die Anlage einschalten lasse, muss ich das Script ca. 5 Sekunden warten lassen bis der Input gewechselt werden kann.

    Antworten

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ich akzeptiere die Speicherung der Daten.