kato

YAMAHA MusicCastの常用HTTP APIたち

はじめに

YAMAHA MusicCastとは

Overview:
Yamaha provide a comprehensive API for control and interrogation of MusicCast devices.This document covers the most useful features, with examples, for integration in to CI Environments.

訳:ヤマハは、MusicCastデバイスの制御と問い合わせのための包括的なAPIを提供しています。このドキュメントでは、CI環境への統合のための最も有用な機能とその例を紹介しています

Prerequisites/Recommendations:
For the HTTP API to function correctly in an integrated system, the MusicCast devices must be on a fixed or bound IP Address. To avoid network loops through the wireless “extend” functionality of MusicCast products you should set the device to wired or wireless only through the web GUI on the MusicCast device

訳:HTTP APIが統合システムで正しく機能するためには、MusicCastデバイスが固定またはバウンドIPアドレスに設定されている必要があります。1MusicCast製品のワイヤレス「拡張」機能によるネットワークループを回避するために、デバイスを有線または無線のみに設定する必要があります。これは、MusicCastデバイスのWeb GUIを通じて行います。

この記事の目的

頻繁に使いそうなAPIをまとめてみました。

APIを通じて利用可能な機能

翻訳:

機能説明
情報デバイス情報、利用可能な機能、ネットワーク、オーディオおよび電源状態を取得
電源電源状態を設定し、自動スタンバイの有効/無効を切り替える
入力 / オーディオ入力、音量レベル、サウンドプログラムを設定
チューナー内蔵のFM/AM/DABチューナー(利用可能な場合)を使用してプリセットを呼び出し、設定する、または周波数に合わせる
ストリーミングプリセットストリーミング音楽サービスのプリセットを呼び出し、設定する
システムプリセットMusicCastデバイス(任意のソース)のプリセットを呼び出し、設定する
トランスポートコントロールメディアのトランスポート機能を全て制御し、リピートやシャッフルモードを設定する
アプリジャンプiOSアプリからMusicCastアプリへジャンプ

HTTP API概要

翻訳:

全てのHTTPトランザクションは、ポート80(ウェブブラウザが使用するデフォルトのポート)を介してMusicCastデバイスに接続して行われ、以下の形式を取ります:

HTTP://[IPアドレス]/YamahaExtendedControl/v1/…

例:

http://192.168.5.219/YamahaExtendedControl/v1/system/getFeaturesCode language: JavaScript (javascript)

(MusicCastデバイスで利用可能な機能を呼び出します)

この形式で、HTTPリクエストをMusicCastデバイスに送信してAPI操作を行います。

HTTP API – 情報取得

翻訳:

HTTP API – 情報取得

なお、以下でゾーンが指定されている場合、getLocationInfoコマンドを使用してデバイスごとの利用可能なゾーンを呼び出すことができます。すべての例で「main」が使用されています。

情報取得の内容URL
デバイス情報を取得http://192.168.5.219/YamahaExtendedControl/v1/system/getDeviceInfo
利用可能なデバイス機能を取得http://192.168.5.219/YamahaExtendedControl/v1/system/getFeatures
ネットワーク状態を取得http://192.168.5.219/YamahaExtendedControl/v1/system/getNetworkStatus
機能状態を取得(例: 自動電源スタンバイ)http://192.168.5.219/YamahaExtendedControl/v1/system/getFuncStatus
ロケーション情報およびゾーンリストを取得http://192.168.5.219/YamahaExtendedControl/v1/system/getLocationInfo
ゾーン情報を取得http://192.168.5.219/YamahaExtendedControl/v1/main/getStatus
サウンドプログラムリストを取得http://192.168.5.219/YamahaExtendedControl/v1/main/getSoundProgramList

これらのコマンドを使うことで、デバイスの詳細情報や現在の状態を取得できます。

HTTP API – 電源機能

翻訳:

オート電源スタンバイの有効化/無効化http://192.168.5.219/YamahaExtendedControl/v1/system/setAutoPowerStandby?enable=true
http://192.168.5.219/YamahaExtendedControl/v1/system/setAutoPowerStandby?enable=false
電源オンhttp://192.168.5.219/YamahaExtendedControl/v1/main/setPower?power=on
スタンバイ
http://192.168.5.219/YamahaExtendedControl/v1/main/setPower?power=standby
電源トグルhttp://192.168.5.219/YamahaExtendedControl/v1/main/setPower?power=toggle

HTTP API – スリープタイマー

翻訳:

60分のスリープタイマーを設定
http://192.168.5.219/YamahaExtendedControl/v1/main/setSleep?sleep=60
スリープタイマーキャンセル
http://192.168.5.219/YamahaExtendedControl/v1/main/setSleep?sleep=0

ボリュームコマンド

翻訳:

音量直接指定
http://192.168.5.219/YamahaExtendedControl/v1/main/setVolume?volume=60
音量増減
http://192.168.5.219/YamahaExtendedControl/v1/main/setVolume?volume=up
http://192.168.5.219/YamahaExtendedControl/v1/main/setVolume?volume=down
音量段階調整
http://192.168.5.219/YamahaExtendedControl/v1/main/setVolume?volume=up&step=1
http://192.168.5.219/YamahaExtendedControl/v1/main/setVolume?volume=down&step=1

ミュートコマンド

翻訳:

ミュートオンhttp://192.168.5.219/YamahaExtendedControl/v1/main/setMute?enable=true
ミュートオフhttp://192.168.5.219/YamahaExtendedControl/v1/main/setMute?enable=false

HTTP API – トランスポートコントロール(再生関連)

こちらの表の翻訳です:

再生またはトランスポートモードを設定します。

動作URL
停止http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playback=stop
再生http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playback=play
前の曲http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playback=previous
次の曲http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playback=next
早戻し – 開始http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playback=fast_reverse_start
早戻し – 停止http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playback=fast_reverse_end
早送り – 開始http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playback=fast_forward_start
早送り – 停止http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playback=fast_forward_end
リピート(切替)http://192.168.5.219/YamahaExtendedControl/v1/netusb/toggleRepeat
シャッフル(切替)http://192.168.5.219/YamahaExtendedControl/v1/netusb/toggleShuffle

最後に

もっとニッチなコントロールはこちらのマニュアルに記載されています!

Yamaha_MusicCast_HTTP_simplified_API_for_ControlSystems.pdf (elvis.science)