SONOSをIFTTTとショートカットで操作する方法

SONOSをIFTTTとショートカットで操作する方法



SONOS One (Gen2) の音量調整や曲の停止などを iOSの「ショートカット」App と IFTTT の Webhook を連携して、操作できるようにしました。
iPhone や iPad で「ショートカット」App のショートカットをワンタップするだけで操作でき、特に iOS 14 からホーム画面のカスタマイズが大幅に強化されたので、ウィジェットにショートカットを置くことができ使い勝手が良くなりました。

IFTTT 経由で SONOS スピーカーを操作できるアクション

2020/10/20 現在、IFTTT 経由で SONOS のスピーカーを操作できるアクションは、11 種類になります。

  • Play Favorite(お気に入りを再生)
    This action will play a Sonos Favorite.
  • Play Stream(ストリームを再生)
    This action will stream audio, such as a radio station, from a URL.
  • Skip to Next Track(次の曲へ)
    This action will skip to the next track, if Sonos is playing a queue.
  • Skip to Previous(前の曲へ)
    This action will skip to the previous track, if Sonos is playing a queue.
  • Resume(再生を再開)
    This action will resume playback.
  • Volume Up(少し音量を上げる)
    This action will increase the volume by a small amount.
  • Volume Down(少し音量を下げる)
    This action will decrease the volume by a small amount.
  • Set Volume(音量の数値を設定)
    Set Volume of Sonos Player or Group
  • Mute(音を消す)
    Mutes a Sonos Player or Group
  • Unmute(ミュートを無効)
    UnmuteUnmutes a Sonos Player or Group
  • Pause(一時停止)
    This action will pause playback.

この作業に必要なものとSONOS スピーカーを操作するフロー

今回必要なものは以下になります。

  • SONOS Wi-Fi スピーカー( Wi-Fi 環境で使用できている状態)
  • iOS / iPadOS アプリの「ショートカット」App ( Apple 製で無料)
  • IFTTT(イフト/ IF This Then That )のアカウント(登録無料)と iOS アプリ(無料)のインストール

フローのイメージは以下のようになります。

フロー:ショートカット → IFTTT(Webhook)→ SONOSスピーカー
フロー:ショートカット → IFTTT(Webhook)→ SONOSスピーカー

まず簡単に、SONOS Wi-Fi スピーカー、「ショートカット」App、IFTTT(イフト)を説明します。

※ 内容をご存知の方など実際の設定作業の説明をすぐに読みたい方は、お手数ですが、次のリンクから飛ぶことができます。iOS / iPadOS アプリの「IFTTT」で Applet を作成する( Webhook を利用)

SONOS One スマートスピーカー(Wi-Fi / AirPlay2対応)について

SONOS One の外観
SONOS One の外観(https://www.sonos.com/en-us/media-kits)

過去に Bose 3・2・1 GS Series、 Bose Companion 5 のスピーカーを使っていたのですが、SONOS One のサウンドにビビッと来るものがあり、SONOS One しか使っていません。

高さ 161.45 mm x 幅 119.7 mm x 奥行 119.7 mm と本体は小さいですが、ずっしり重く、低音がかなり重く出て迫力あるサウンドとなっています。

中音域のボーカルがキレイで細かい音も再現されていて音の解像度が高いので、低音をイコライザーで抑えめにすると気持ちのいい BGM になり聴き疲れはしません。
ただし、Trueplay 機能(※)で SONOS One を設置した部屋の音の反響を測定しないとサウンドが篭った感じになるので、注意が必要です。詳しくは、SONOS 公式 Web サイトの TrueplayでSonosスピーカーをチューニングする を参照してください。
※ 2020/10/18 現在:Trueplay 機能は、iOS 版のみ対応

防湿設計(防水ではありません)で、ボイスコントロール(Amazon Alexa / Google Assistant は2020年中に対応予定)にも対応、SONOS One を 2つ用意することで、ステレオ再生が可能になります。

SONOS One を操作するアプリは、iOS / Android / macOS / Windows / FireOS 版があります。各アプリのダウンロードは、SONOS 公式 Web サイトの Sonosアプリをダウンロードする になります。

パソコンにあるiTunesの曲やNASなどに保存されている曲を再生したり、Spotify や Amazon Muic、Apple Music などを SONOS アプリに登録することで一元管理できます。
また、SONOS Radio では、独自コンテンツの「 SONOS Stations(※)」で各音楽ジャンルで厳選した曲のプレイリストやレディオヘッドのトム・ヨークやアラバマ・シェイクスが選曲したプレイリスト etc を聴くことができます。その他にも世界中のラジオストリーミングを聴くことができます。
※ 2020/10/20 現在:SONOS Stations は、日本の IP アドレスからでは表示されません。

「ショートカット」App(iPhone / iPad)について

iOS / iPadOS「ショートカット」App
iOS / iPadOS「ショートカット」App

「ショートカット」App で作成したショートカットから IFTTT に命令を送り結果を受信し、SONOS スピーカーへ命令を送ります。

iOS 14 の再インストールでは、「ショートカット」App はデフォルトでインストールされるようですが、もし「ショートカット」App をインストールされていない方は、次のリンクからダウンロードしてみて下さい。
「ショートカット」をApp Storeで(無料/仕事効率化)

IFTTT(イフト/ IF This Then That )について

IFTTT wordmark (https://ifttt.com/explore/press)
IFTTT wordmark (https://ifttt.com/explore/press)

IFTTT は、Twitter などのSNS、Amazon Alexa などの音声アシスタント、スマホの GPS との連携やスマート家電の操作など様々な Web サービスを連携して自動化することができる Web サービスです。

アカウント作成は、無料です。
公式ウェブサイトは、IFTTT (IF This Then That)になります。

自分で作成した Applet( アプレットもしくはレシピ)は、3 個まで作成可能です。3 個以上作成する場合は、IFTTT Pro に移行する必要があります。

SONOS が IFTTT に API を提供しているので、Applet に組み込むだけで SONOS スピーカーを操作することが可能になります。

Applet の作成は、IFTTT の Webサイトからでも可能ですが、SONOS スピーカーを操作するので、iOS / iPadOS アプリも必要になります。
アプリのダウンロードは、‎「IFTTT」をApp Storeで(無料/仕事効率化) になります。

iOS / iPadOS アプリの「IFTTT」で Applet を作成する( Webhook を利用)

IFTTT にログイン後に、「Create」をクリックして、Applet を作成していきます。
※ IFTTT の Web サイトでも設定可能です。

IFTTT アプレットを新規作成
IFTTT アプレットを新規作成

if This の Add をタップして、動作するきっかけとなる Web サービスを追加します。

IFTTT アプレット 動作するきっかけ(トリガー)を選択
IFTTT アプレット 動作するきっかけ(トリガー)を選択

Webhooks と検索窓に入力して選択します。

IFTTT アプレット Webhookを検索して選択
IFTTT アプレット Webhookを検索して選択

Webhooks が動作するきっかけ(トリガー)を選択します。
Receive a web request をタップします。

IFTTT アプレット Webhookを実行するきっかけ(トリガー)を選択
IFTTT アプレット Webhookを実行するきっかけ(トリガー)を選択

Event name を入力します。
Event name は、後ほどショートカットの作成で必要になるので、メモをしておいてください。Event name は任意の文字で問題ありません。
Create trigger をタップして、if This, Then That(もし〜が起きたら、〜を実行する)の If の部分が完了となります。

IFTTT アプレット イベント名を入力
IFTTT アプレット イベント名を入力

次に add をタップして、Then That の部分を作成します。

IFTTT アプレット 何を実行するかを選択
IFTTT アプレット 何を実行するかを選択

SONOS と検索窓に入力して選択します。

IFTTT アプレット SONOSを検索して選択
IFTTT アプレット SONOSを検索して選択

SONOS で実行したいアクションを選択します。

IFTTT アプレット SONOSスピーカーを操作するアクションを選択
IFTTT アプレット SONOSスピーカーを操作するアクションを選択

操作したい SONOS のスピーカーやグループを選択します。
Create Action をタップして、アクション作成は完了になります。

IFTTT アプレット 操作したいSONOSのスピーカーを選択
IFTTT アプレット 操作したいSONOSのスピーカーを選択

continue をタップして、Applet のタイトル設定に進みます。

IFTTT アプレット作成を完了するためにContinueをタップ
IFTTT アプレット作成を完了するためにContinueをタップ

Applet のタイトルは、そのままか「Edit title」をタップして入力します。
「Receive notification when this Applet is active」をオンにすると Applet の実行が完了したタイミングで通知がきます。
Finish をタップして Applet の作成は終了です。

IFTTT アプレットのタイトルを入力
IFTTT アプレットのタイトルを入力

最後に Applet をオンにして完了になります。

IFTTT アプレットをオンにして完了
IFTTT アプレットをオンにして完了

以上で、IFTTT で Applet 作成の作業は完了になります。

IFTTT の Event name と Unique key の確認

次に、IFTTT の Web サイトもしくはアプリ上で、ショートカット作成で必要になる情報、event nameunique key を確認します。

Event name は、作成した Applet から確認できます。
Applet をクリック → 画面右上の「 Settings 」もしくは IFTTT アプリの場合「歯車アイコン」で、詳細が表示されます。Event Name の部分で確認できます。

Unique key は、画面右上にあるアカウント部分から「 My services 」→ 「 Webhooks 」で詳細を表示 → 右上の「 Documentation 」にある「 Your key is: 」の部分で確認できます。
※ IFTTT の Web サイトの Webhooks でも確認できます。

「ショートカット」App でショートカットを作成する

ショートカットの内容は、IFTTT へ URL( URL アクション)を送信し結果を受信してアクションを実行( NETWORK の Get content of アクション)するシンプルな内容です。

ショートカットのフロー
ショートカットのフロー

URL の仕組みは、次のようになっています。

https://maker.ifttt.com/trigger/{event name}/with/key/{unique key}

前の項目で確認した Event name と Unique key を配置した例。

https://maker.ifttt.com/trigger/SONOS_volume_1/with/key/cTestabcdefg_xdummmy12345

このショートカットは、次のリンクからダウンロードして、「ショートカット」App に取り込むことができます。
SONOS IFTTT Sample

以上で、ショートカット作成の作業は完了です。

最後に:SONOS スピーカーの操作について

ここまでで、IFTTT と ショートカットの設定が終了したので、作成したショートカットを実行してみてください。
SONOS スピーカーを操作できない場合は、IFTTT の Event name や Unique key が合っているか、URL アクションの URL にスペースなどが入っていないかを確認してみてください。

IFTTT と 「ショートカット」App の組み合わせ以外の方法

node.js を使った node-sonosnode-sonos-http-api、Python を使った SoCo (Sonos Controller)、Node-RED 上で動作する node-red-contrib-sonos-plus などがあります。

SONOS を操作できるアクションは多いので便利だと思いますが、Node-RED 以外は、いずれも Mac を常時起動しておかないと操作できないので、諦めました。Node-RED は少し触りましたが難解すぎて無理でした ;)
上記以外にも色々と公開されていますが、SONOS 本体の OS(オペレーションシステム)が S2 の場合、あまりに更新されていないプログラムだと上手く動作しない場合があるかもしれません。参考:Sonos S2対応製品

SONOS アプリ以外で音声の出力先を変更する方法

Spotify や Amazon Music などのアプリで音楽を聴いている場合に、出力先を SONOS に変更したり、iPad に切り替えたりする方法です。「ショートカット」App を使用します。
詳しくは、このブログの次の記事を参照ください。
ワンタップでiPhoneやiPadのオーディオ/音声出力先を変更する方法

あまり期待できないかもですが、手軽に操作できるように、SONOS 公式アプリの iOS 14 のウィジェット対応が待ち遠しいです!

記事タイトルとURLをコピーする

お気軽にコメントをどうぞ

コメントは確認後に反映されるので暫くお待ちください。
項目は全て必須となります。