Androidのメモとか

ポキオの日記です。今日も遅延してない。

enebular+IFTTTで夜になったらSonosスピーカーの音量を下げるようにしてみた

夜は静かに。

ポキオ Sonos IFTTT

ついつい音量上げたくなるやつ

Sonosのスピーカー「One」を使い始めて数週間。時間を見つけてはSonosで音楽を聞いてますが、ついつい調子に乗って音量上げがち。 でも、流石に夜は近所迷惑だったり、寝てる家族に申し訳ないので、ここはなんとか自動化で音量コントロールできないかと考えたわけです。

ポキオ Sonos IFTTT

幸運なことに、IFTTTでSonosの音量設定(Set Volume)ができるので、これをつかって音量コントロールをしてみたいと思います。

ちょっぱやで作るよー!

このSonosのActionを毎度おなじみのWebhooksのTriggerから発火するように設定し、enebular(Node-RED)から毎晩23時にそのWebhooksURLを叩くようにするシンプルな仕組みです。

ポキオ Sonos IFTTT

毎晩23時に発火させるには、Injectionノードの設定をちょっといじるだけ。

ポキオ Sonos IFTTT

これだけで、毎晩発火するようになりました。実際にWebhooksの設定は、次のFunctionノードで行っています。

msg = {};
msg.method = 'POST';
msg.headers = 'Content-Type: application/json';
msg.url = 'http://maker.ifttt.com/trigger/xxxxx/with/key/xxxxx'
msg.payload = {'value1' : '10'};
return msg;

value1に10を設定し、Webhooks側ではここで指定された数値の音量を設定するようにしています。ここで、数値は0-100まで指定可能です。まぁ、10%くらいに音量を絞っておけば文句は言われないでしょう。

これで音量設定を自動化できました!

毎晩23時になると、急に音量が10%になるようになりました。

IFTTTのSonos Actionsには、まだまだいろんなコントロールが可能なので、自分のライフスタイルにあった自動化ができそうですね!

[asin:B07HSBKTFH:detail]

今回のフローはこんな感じですー。

[
    {
        "id": "c5495b36.8b97c8",
        "type": "tab",
        "label": "Sonos Flow",
        "disabled": false,
        "info": ""
    },
    {
        "id": "7451e07.f12dc2",
        "type": "inject",
        "z": "c5495b36.8b97c8",
        "name": "毎日23時に実行",
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "repeat": "",
        "crontab": "00 23 * * *",
        "once": false,
        "onceDelay": 0.1,
        "x": 140,
        "y": 60,
        "wires": [
            [
                "44f2a101.c42ae"
            ]
        ]
    },
    {
        "id": "b7541cbb.283a4",
        "type": "http request",
        "z": "c5495b36.8b97c8",
        "name": "IFTTTにHTTP-POST",
        "method": "use",
        "ret": "txt",
        "url": "",
        "tls": "",
        "x": 560,
        "y": 60,
        "wires": [
            [
                "68b920c2.b7034"
            ]
        ]
    },
    {
        "id": "44f2a101.c42ae",
        "type": "function",
        "z": "c5495b36.8b97c8",
        "name": "IFTTT Webhooks設定",
        "func": "msg = {};\nmsg.method = 'POST';\nmsg.headers = 'Content-Type: application/json';\nmsg.url = 'http://maker.ifttt.com/trigger/xxxxx/with/key/xxxxx'\nmsg.payload = {'value1' : '10'};\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "x": 340,
        "y": 60,
        "wires": [
            [
                "b7541cbb.283a4"
            ]
        ]
    },
    {
        "id": "68b920c2.b7034",
        "type": "debug",
        "z": "c5495b36.8b97c8",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "x": 730,
        "y": 60,
        "wires": []
    }
]
「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。