夜は静かに。
ついつい音量上げたくなるやつ
Sonosのスピーカー「One」を使い始めて数週間。時間を見つけてはSonosで音楽を聞いてますが、ついつい調子に乗って音量上げがち。 でも、流石に夜は近所迷惑だったり、寝てる家族に申し訳ないので、ここはなんとか自動化で音量コントロールできないかと考えたわけです。
幸運なことに、IFTTTでSonosの音量設定(Set Volume)ができるので、これをつかって音量コントロールをしてみたいと思います。
ちょっぱやで作るよー!
このSonosのActionを毎度おなじみのWebhooksのTriggerから発火するように設定し、enebular(Node-RED)から毎晩23時にそのWebhooksURLを叩くようにするシンプルな仕組みです。
毎晩23時に発火させるには、Injectionノードの設定をちょっといじるだけ。
これだけで、毎晩発火するようになりました。実際に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には、まだまだいろんなコントロールが可能なので、自分のライフスタイルにあった自動化ができそうですね!
今回のフローはこんな感じですー。
[ { "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": [] } ]