Yamaha MusicCast

Alles was per HTTP gesteuert werden kann
Antworten
Piezostein
Beiträge: 51
Registriert: Do 13. Dez 2018, 23:55
Wohnort: Bayern

Mo 14. Okt 2019, 15:06

Da ich gefragt wurde ob ich eine kurze Einweisung in des Thema MusicCast geben kann...


... eröffne ich hierfür diesen Thread.

Das Ganze ist wirklich sehr einfach, man sollte nur ein bis zwei Dinge beachten.
Um die Kommunikationsbefehle zu vereinfachen rate ich euch die Extended Control GET Befehle von der Musiccast App zu benutzen und nicht die umständlichen Standart HTTP Post XML Befehle.
Die Post Befehle werden mit einem Body als YamahaRemoteControl gesendet, die Musiccast Befehle mit GET als YamahaExtendedControl.

Der Aufbau der Get Nachricht sieht immer wie folgt aus

Code: Alles auswählen

HTTP://*ipaddressedeineslautsprechers*/YamahaExtendedControl/v1/...
Dahinter werden dann die Befehle angehängt, welche man an den Lautsprecher der IP senden möchte


Hier ein paar Befehlsbeispiele:

Musiccast Lautsprecher oderMusiccast Verstärker AN ( jenachdem wem die IP Adresse gehört)

Code: Alles auswählen

http://*ipaddressedeineslautsprechers*/YamahaExtendedControl/v1/main/setPower?power=on

Musiccast Lautsprecher oderMusiccast Verstärker Standby ( jenachdem wem die IP Adresse gehört)

Code: Alles auswählen

http://*ipaddressedeineslautsprechers*/YamahaExtendedControl/v1/main/setPower?power=standby
Man hat die Möglichkeit danach entweder eine bestimmte Quelle oder auch einen Favorit aufzurufen

Musiccast Quelle starten in diesen Fall Spotify

Code: Alles auswählen

http://*ipaddressedeineslautsprechers*/YamahaExtendedControl/v1/main/setInput?input=spotify
Alle andere Quellen findet ihr in der unten verlinkten PDF diese müsst ihr dann einfach nach input= setzen

Alternativ Musiccast gespeicherter Favorit 1 starten ( das bevorzuge ich , ich habe mir einfach alles was ich höre als Favorit angelegt und kann diese dann per direkt befehl aufrufen)

Code: Alles auswählen

http://*ipaddressedeineslautsprechers*/YamahaExtendedControl/v1/netusb/recallPreset?zone=main&num=1
Favorit 2 wäre dann am Ende num=2 , Favorit 3 wäre num=3 usw.

Als Favorit kann jeder RadioSender oder beispielsweise eine SpotifyPlaylist abgespeichert werden, ist aber in der Musiccast App ersichtlich.

Solltet ihr das Gerät und die Quelle komplett automatisch per Knopfdruck starten lassen wollen rate ich euch dringend den Lautstärke Befehl noch mitzugeben, sonst kann es zu ungewollten Hörstürzen kommen.

Code: Alles auswählen

http://*ipaddressedeineslautsprechers*/YamahaExtendedControl/v1/main/setVolume?volume=35
Je nach Lautsprechergröße müsst ihr das Volumen erhöhen oder verringern, so dass es euch als Startlautstärke taugt, ich empfehle euch mit dem Wert 15 anzufangen und euch ranzutasten welches volumen für eure Lautsprecher passt.

Für meinen Yamaha Verstärker benutze ich bspw 40, für meine 30er und 50er Lautsprecher benutze ich bspw 25 bis 35 je nach Räumlichkeit.
Auch empfehlenswert ist bei Benutzung eines Tablets bei Knopfdruck auf bspw. Antenne Bayern die Musiccastapp als zusätzlichen Startauslöser mit in den Tasker einzubinden um danach weitere Kontrollmöglichkeiten über Musiccast zu haben ohne tausend Buttons anlegen zu müssen ( meine angehängten Tasker Beispielfiles haben diesen Start mit inbegriffen)

Ihr könnt auch noch Lautstärke buttons mit direkt Lautstärke wählen, einfach obigen Befehl mit einer anderen Lautstärke schicken

Auch Schrittweise Up and Down ist möglich mit folgenden Befehlen

Code: Alles auswählen

http://*ipaddressedeineslautsprechers*/YamahaExtendedControl/v1/main/setVolume?volume=up 

Code: Alles auswählen

http://*ipaddressedeineslautsprechers*/YamahaExtendedControl/v1/main/setVolume?volume=down
Natürlich könnt ihr auch bestimmte Lautstärkesprünge ausführen beispielsweise in 5er Schritten wäre wie folgt anzugeben

5 Schritte nach oben

Code: Alles auswählen

http://*ipaddressedeineslautsprechers*/YamahaExtendedControl/v1/main/setVolume?volume=up&step=5
5 Schritte nach unten

Code: Alles auswählen

http://*ipaddressedeineslautsprechers*/YamahaExtendedControl/v1/main/setVolume?volume=down&step=5
Die Befehle könnt ihr nun in eure Systeme einpflegen wie ihr es benötigt.
Ich empfehle euch nur nach dem Power On Befehl eine Pause von 1s mit einzupflegen bevor weitere Befehle gesendet werden, das System braucht die Sekunde bevor eine Quelle oder ein Favorit ausgewählt werden kann, die restlichen Befehle können ohne Pausen nacheinander gesendet werden.
Sei es wie bei mir als Szene nacheinander ausgeführt, oder als Tasker App extrahiert und als App in ImperiHome eingebunden, das einbinden geht natürlich ebenso als Szene vom LMair.
Ihr müsst euch einfach für eines entscheiden.

Da ich es per Tasker gelöst habe und nicht über den LMair hänge ich euch ein paar meiner Taskerbefehle und Tasker Befehlsketten an.
Diese könnt ihr dann natürlich auch als einzel Befehl übernehmen und als Szene im LMAir kombinieren wie ihr das möchtet oder aber auch im Tasker auführen bzw als App extrahieren welche ihr dann wiederum einbinden könnt.

Für weitere Befehle , oder wenn ihr noch etwas mehr Erklärung benötigt, gibt es eine wunderbare Anleitung/Zusammenfassung der Befehle mit Beispielen im Internet, hier der Link dazu

Code: Alles auswählen

http://habitech.s3.amazonaws.com/PDFs/YAM/MusicCast/Yamaha%20MusicCast%20HTTP%20simplified%20API%20for%20ControlSystems.pdf
Meine Beispieltasks könnt ihr übrigens einfach in eure Tasker App importieren.
Ihr müsst aber daran denken dort noch eure IP einzutragen sonst wird es natürlich nicht funktionieren ;)

Ich hoffe ich konnt allen MusicCast Besitzern weiterhelfen und in Zukunft die Möglichkeit haben Ihr System vollständig zu verstehen.
Würde mich sehr über Feedback freuen.



Beste Grüße
Piezo
Zuletzt geändert von Piezostein am Mo 21. Okt 2019, 00:51, insgesamt 2-mal geändert.
Tobi
Beiträge: 56
Registriert: Mo 7. Jan 2019, 14:45

Mo 14. Okt 2019, 21:25

Vielen herzlichen Dank für deine Ausführliche Anleitung. Klappt wirklich super wie du es beschrieben hast.

Hast Du dich mal mit mehrern Geräten befasst? Ich nehm immer das Wohnzimer als Master und Linke den Rest dazu. dann geht es mit meinem Apple Kurzbefehl der an den Master gerichtet ist wunderbar im ganzen Haus aus. Laufen aber andere Geräte seperat oder jemand anders ist als Master beauftragt funktioniert das leider nicht mehr. In der app wird ja auch alles aufeinmal aus geschaltet.

Kann man die Raumscenen auch per http befehl aufrufen? Nach dem Moto spiele Lautsprecher 1,4,5,9 Radio xy.

Ich habe sogar noch eine Erweiterte Api falls du bedarf hast leider übersteigt das ganze mein Verständnis.

Schöne Grüße aus dem Münsterland
Zuletzt geändert von Tobi am Mo 14. Okt 2019, 21:26, insgesamt 1-mal geändert.
Piezostein
Beiträge: 51
Registriert: Do 13. Dez 2018, 23:55
Wohnort: Bayern

Mo 14. Okt 2019, 22:54

Hey Tobi ,

ja klar gerne, Sobald ich Zeit habe und die Hygrometer und Marker für ImperiHome upgedatet habe in einem anderen Thread schau ich mir die Scenen Thematik die du erwähnt hast an :)

Beste Grüße

Piezo
Tobi
Beiträge: 56
Registriert: Mo 7. Jan 2019, 14:45

Di 15. Okt 2019, 06:27

Hey Piezo,

klasse vielen Dank für deine Unterstützung.
Piezostein
Beiträge: 51
Registriert: Do 13. Dez 2018, 23:55
Wohnort: Bayern

Mo 21. Okt 2019, 00:52

Hey,

im Befehl um den Favoriten aufzurufen hat sich leider der Fehlerteufel eingeschlichen, habe den Link wie auch die Datei bearbeitet und neu hochgeladen.

Bitte updaten falls schon installiert.

Im Übrigen empfehle ich euch noch den Play Request mit anzuhängen dass das ausgewählte Programm oder Favorit direkt startet .

Der Befehl würde lauten http://*IPdeinesLautsprechers*/YamahaExtendedControl/v1/netusb/setPlayback?playback=play

Wenn ihr mit dem Befehl Internet Radio Sender startet gibt es noch einen kleinen Trick um die Anfangswerbung zu überspringen.

Hierzu müsst Ihr in eurer Automationsszenerie einfach ein Stop einbauen, sähe aus wie folgt

Szene im LMair oder Makro im NeoCreator oder ImperiHome, je nachdem was ihr benutzt.

In diesem Fall ist mein Favorit 1 ein Radiosender


http://*IPdeinesLautsprechers*/YamahaExtendedControl/v1/main/setPower?power=on

Pause von 500ms

http://*IPdeinesLautsprechers*/YamahaExtendedControl/v1/netusb/recallPreset?zone=main&num=1

http://*IPdeinesLautsprechers*/YamahaExtendedControl/v1/main/setVolume?volume=36

http://*IPdeinesLautsprechers*/YamahaExtendedControl/v1/netusb/setPlayback?playback=play

http://*IPdeinesLautsprechers*/YamahaExtendedControl/v1/netusb/setPlayback?playback=stop

http://*IPdeinesLautsprechers*/YamahaExtendedControl/v1/netusb/setPlayback?playback=play

Will man dass die Musiccast App im Anschluss mit startet muss man einfach folgenden Get Befehl ohne http:// noch mit anfügen

com.yamaha.av.musiccastcontroller://

Beste Grüße

Piezo
krigschduwas
Beiträge: 61
Registriert: Di 1. Mär 2016, 16:02

Mo 30. Dez 2019, 03:54

Hallo Piezo,
toller Beitrag zu einem sehr interessanten Thema.
Kann man das so mit jedem Hersteller machen, so z.B auch mit einem Canton System oder Sennheiser Soundbar?
LG
Antworten