【IFTTT】Google home で IoT Part.3【Hue】
■ このスレッドは過去ログ倉庫に格納されています
Google HomeでIoTをする人の為のスレッドです。
本スレはできるだけ本体(もしくは+Chromecast)で楽しむ人に譲って、
濃い話はこちらでお願いいたします。
※本スレ
google home Part.11
http://mevius.5ch.net/test/read.cgi/google/1516500534/
※前スレ
【IFTTT】Google home で IoT Part.1【Hue】
http://mevius.5ch.net/test/read.cgi/google/1513235443/
【IFTTT】Google home で IoT Part.2【Hue】
http://mevius.5ch.net/test/read.cgi/google/1516114373/ broadlinkjs-rmの修正プルリクが無事取り込まれてた お騒がせしました。ラズパイを自宅のネット環境でgoogle-home-notifierインストール
からやり直した結果、無事browser.jsが表示されました。
本当すいませんでした。ありがとうございました。 >>561
それなら今いるディレクトリは合ってるのでgoogle-home-notifierのインストール自体が失敗してるんじゃないかな
$ npm install google-home-notifier --save ってとこ
エラーメッセージとかなかったの? >>563
見落としてた。無事インストできてよかったね。 GPMのプレイリスト名やステーション名を覚えられないので、リストを読み上げる機能を実装したぞ。
割と便利かも。 >>566
もうアプリで押してキャストした方が早いだろそれ、ワロタ 飯作ってるときとか、ペットと遊んでるときとかそういうとき用やね。
逆にそういうときにしか音声アシスタント使わないからなぁ。
スマホいじってるときに音鳴らすときはそりゃスマホからキャストするよ笑 >>497 >>562
467氏発案のプルリクが受理されました。
cd ~/homebot
npm update
で最新版に更新できます。
>>489
乗換案内や雨雲レーダーなどの画面をcastできると便利そうですね。
Google Homeの標準機能だと概要しか教えてくれないので。
>>496
ps4-wakerはコマンドラインで正しく動きますか?
「ps4-waker」で検索すると詳しい解説が見つかりますよ。
>>504
大文字のMACアドレスも受理するようにしました。
細かいご指摘も大歓迎ですので、皆様、お気軽にご意見をお寄せ下さい。
>>519-520
ありがとうございます。ブログに反映しました。 >>523 >>525 >>552
VoiceText API、よさそうですね。
>>532-533
ブログに反映しました。
>>537 >>566-568
ノウハウの蓄積はありがたいですね。 >>550 >>553-555
誤解を与える構文ですみません。
誤解を減らすために、@の前に空白を強制するようにしました。
X learn tv:on@bedroom
O learn tv:on @bedroom
>>558
いいですね。テレビって意外とスマート家電ですよね。 >>225
>>262
homeアプリでGoogle homeから見たときのcromecastの名前を変更できたと思うんだけど、そこでテレビって登録しちゃってない? 誰か分かる人いれば教えてほしいのだけど
Win10Proで、redis-server起動してhubot起動→ping→pongまでは出来てる
hubot-broadlink-rm入れて、external-scripts.jsに追記して起動しても黒豆がdiscoverdされない
ローカルネットワークは同じでラスパイではdiscoveredされるからwin側の問題だと思うんだけど・・・
broadlinkjs-rmのdiscover()に適当にconsole.log仕込んだら
listeningイベントは来てるようなんだけどmessageイベントが来てないっぽいんだよね・・・
原因分かる人居ないかな スマートプラグをPSEマーク認定させるには法規制で300Wまでで接続して良い機器は指定されている
linkjapanのePlugって発売できるの? >>573
無線ルータで11gと11aが分離されてるとか?
ラズパイと黒豆は11g側なので。
Atermだとそういう設定できる機種あるよ。 >>573
getDevice.js単独でdiscoverdされるか試してみる
node /node_modules/homebridge-broadlink-rm/helpers/getDevice.js
認識されないようならwin10proから黒豆IPにpingして
ファイアウォール等で遮断してないか見る >>575
Win10は有線でWi-Fiルータに繋がっててWi-Fiルータから各黒豆に無線で繋がってる
だから11a/gは多分無関係かなと思う
>>576
黒豆にpingは通るけどgetDevice.js単体起動でもdiscoveredされないね・・・ >>569
469です。
アドバイスありがとうございました。
Ps4の機器認証を一度全部削除したところ登録できました。
コマンドで起動、スタンバイできました。
トルネ、アマゾンビデオの直接起動がしたかったのですが、保留していたps4のアップデートをするとできました。(これは自信ありませんけど) Google Homeから「Neftlixが観たい」でFirestickを起動してNetflixを見るとか出来ないんかな >>579
すげー無理やりならできるよ
黒豆とかでテレビのリモコンの入力切替上下左右戻る決定を覚えさせて
@テレビのチャンネル(テレビの入力を初期化)
A入力切替×数回(firetvの選択)
B戻る×数回(firetvの初期化)
C上下左右(Netflixを選択)
D決定
番組選べない、アイコンの位置変わるとだめ、時間かかるって難点あるけど 691氏の「Raspberry Piにgoogle-home-notifierをインストールする方法」は
Raspberry Pi 3 を想定して書いているので、Raspberry Pi Zero Wでは
$ curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
を実行できないが「node.jsの導入」の項目を実施していれば、node, npm共に
準備はOKなので無視して次に進んでよい。node, npmのバージョン確認で
$ node -v で v8.9.4
$ npm -v で 5.6.0
なら問題なく次に進めて、Raspberry Pi Zero Wにgoogle-home-notifierを
インストールできて、Google Homeを喋らせることができた。 >>579
できるんじゃない?
npm のパッケージにも firetv が操作できそうなのがあるし
>>517 に書いてある記事のやつを参考にやってみるとか。 >>582
hdmiの赤外線がわかってれば1と2と3は短縮可能 >>579
ここは IoT スレだし、たぶん、知ってるだろうが念のため書く。
Chromecast なら「Netfilxで○○を再生して」が出来るし、
その後は「一時停止して」「20秒戻して」「5分進めて」「ボリューム上げて」などなど GoogleHome の基本機能だけで操作できる。 凄く単純なことで聞くのもおこがましいのですが、わかる方お教え願います。
ttps://scrapbox.io/smart-home/Google_Home%E3%81%AE%E5%96%8B%E3%82%89%E3%81%9B%E6%96%B9
こちらの「次のようなファイル `bin/say.js` を作る。」
これをどこに作ればいいのかわからず、立ち上げたところからbinフォルダを作成して、その中にsay.jsを作りました。
しかし動作しません。こちらどこに配置すればよいのでしょうか?
初歩的な質問ですいません。 netflix操作はホント便利。
これだけで買ってよかったと思える。
できれば前回再生していた動画の続きから再生するコマンドが欲しい。 >>588
ありがとうございます。先に進んだ感じですが、エラーがでて改善できません。
エラーは下記の通りです。ご助言願います。何度もすいません。
ユーザー名@raspberrypi:~/homebot $ bin/say.js "こんにちは"
/home/ユーザー名/homebot/node_modules/mdns/lib/browser.js:1
(function (exports, require, module, __filename, __dirname) { .var dns_sd = require('./dns_sd')
^
SyntaxError: Unexpected token .
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:607:28)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Module.require (module.js:587:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/home/ユーザー名/homebot/node_modules/mdns/lib/mdns.js:3:15) オレhomebotの中に作るべきものを同じことに作ってしまって後戻りできなくなったw
でも動いているからいいかーって終わらせたw
homebotの中が空っぽw >>590
エラーメッセージの ^ の位置が実際の画面とコピペとでずれてませんか?
browser.jsを編集したときに 1行目のvarの前を書き換えていませんか? >>591
homebotディレクトリはnode.jsの環境がディレクトリで区分けしてるから、691氏環境の区画として作成しているもので、
あのなかに入れないと動かないってものではないから、node.jsを691氏環境専用にしか使わないのであれば問題ないよ。 >>592
ありがとうございました!!
browser.jsの1行目は
.var dns_sd = require('./dns_sd')
なっていました。varの前にカンマが入っていたので削除したらこんにちはと言いました!
全部のHomeとTVが言ったので、今から続きをします。
ありがとうございました! Google Homeの音量をラズパイから指定することはできないだろうか?
マイクをオフにしているものも含めて、シーンに応じて複数のGoogle Homeの音量を変えたい。 >>595
castv2-clientパッケージでできるよ。
自分はgoogle-home-notifierのコード修正して、読み上げ前に音量あげて、読み上げ後に音量を戻してる。 医師・古川優樹は今年4月、愛知県名古屋市のホテルで、当時17歳の無職の少女に現金3万円を渡してみだらな行為をしたとして逮捕されました。
愛知県警によりますと、古川容疑者は知人の16歳の少女にツイッターで「16歳か17歳の女の子を紹介してくれたらお金あげるよ」とメッセージを送り、
17歳の少女を紹介してもらった見返りに現金約2万円の報酬を渡したということです。
古川容疑者は取り調べに対して容疑を認めているという。
http://www3.nhk.or.jp/news/html/20170827/k10011114441000.html
https://dotup.org/uploda/dotup.org1462270.jpg
古川優樹の勤務先電話番号
058-389-2228 >>598
いーなーそれ。わかったらココで教えてください Google Home、Philips hue、RM mini3、ラズパイの構成で、
IFTTTからhueの起床ルーチンをキックできないでしょうか。
起床ルーチンでなくとも、「30分かけて徐々に明るく」できればいいのですが >>603
日によって不規則に起きる時間が変わるので、
理想としてはIFTTTに翌日の出勤時間を入力すれば、
「40分前に暖房ON、30分前から徐々にライトON、
20分前にアラーム、0分前(出勤時間)に暖房と電気OFF」
が発動するIFTTTを作りたいのです。
今はIFTTTとhueアプリで別々に指定していますが面倒になってきた次第です。 hueはapiあるからそっち経由で設定すればいいんじゃないの >>605
WebAPIで起床ルーチンをキックすることも、
徐々に明るくすることもできないと思っておりましたができましたっけ?
明度を1づつ上げたURLをcurlを叩き続けるとかをそういうのですか? uint16だから最大65536かな
ということ最大6553秒なので100分くらいは指定出来るのでは
ていうかスケジュールのapiもあるじゃん
https://developers.meethue.com/documentation/schedules-api-0 >>608
ありがとうございます!
"transitiontime":18000指定で無事想定通りの動きができました hubot-broadlink-rmを0.6.3から0.6.5にアップデートしたいんですが
npm updateでもエラーがでてアップデートできません。
npm cache cleanもnpm cache clean —forceもダメでした。
ご助言いただければ助かります。
以下npm updateのエラーコードです。
npm WARN checkPermissions Missing write access to /home/(ユーザー名)/homebot/node_modules/hubot-broadlink-rm
npm ERR! path /home/(ユーザー名)/homebot/node_modules/hubot-broadlink-rm
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/home/(ユーザー名)/homebot/node_modules/hubot-broadlink-rm'
npm ERR! { Error: EACCES: permission denied, access '/home/(ユーザー名)/homebot/node_modules/hubot-broadlink-rm'
npm ERR! stack: 'Error: EACCES: permission denied, access \'/home/(ユーザー名)/homebot/node_modules/hubot-broadlink-rm\'',
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/home/(ユーザー名)/homebot/node_modules/hubot-broadlink-rm' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/(ユーザー名)/.npm/_logs/2018-02-14T14_46_25_018Z-debug.log すいません、自己解決できました。
権限がないのでsudoつければよかったんですね。申し訳ない。 >>610, >>611
Raspberry Pi Zero Wにて、691氏の「hubot-broadlink-rmの更新」通りにできた
$ npm outdated 少し時間がかかった
pi@raspberrypi:~/homebot $ npm update
+ hubot-broadlink-rm@0.6.5
added 2 packages and updated 5 packages in 52.68s
$ npm outdated で何も表示されず。
$ nano package.json すでに書き換えられていた
"hubot-broadlink-rm": "^0.6.5", >>612
削除 : $ npm outdated 少し時間がかかった >>571
>誤解を減らすために、@の前に空白を強制するようにしました。
>X learn tv:on@bedroom
>O learn tv:on @bedroom
とありますが、0.6.5に上げてもスペースを入れると反応しなくなります。
また、send tvliving:on@living が一度反応してくれましたが、2回目から
全く応答してくれません。一度は通っているのに2回目がNGということで
全くの?です。 お時間がございましたらご教示願います。 >>573
当方も全く同様にdiscoverされない問題あり.
・OS:FreeBSD10.4R
・ping/pongの手順まではOK
・PCとrmは双方とも同一セグメント内に設置
・(特に意味はないとは思うが)PCとrmは双方とも11gで接続
・getDevice.js単独で試してもdiscoverdされない
・hosts.allowは素通し設定.
/etcあたりでUDP周り制限の設定とか何かあったっけ? >>593
遅レスで申し訳ないけど
やり直す場合、691氏環境つまりhubot-broadlink-rmだけでいいかな?
コード覚えているRadiusサーバーやhubotもやり直しとなると大変かなと。 >>601
node-redで使ってるコードなので適宜読み替えてもらえれば。
javascriptを普段使わないので、callback部分とか適切に書けているかあまり自信はないです。。
npmでcastv2-clientがインストールされている前提です。
現在の音量を取得したあとに音量を新しい値に設定します。
あとで音量を元に戻したい場合はcurvol.levelを使ってsetVolumeし直して下さい。
// input : msg.castv2.ipaddr, msg.castv2.volume
// output: msg
var ipaddr = msg.castv2.ipaddr || "192.168.xxx.xxx";
// volume は min:0 max:1 で指定
var volume = msg.castv2.volume || 0.5;
var Client = require('castv2-client').Client;
var client = new Client();
client.connect(ipaddr, function() {
client.getVolume(function(err, curvol){
if(err) console.log(err);
console.log(curvol);
client.setVolume({ level: volume }, function(err, newvol){
if(err) console.log(err);
console.log(newvol);
client.close();
});
});
client.on('error', function(err) {
console.log('Error: %s', err.message);
client.close();
callback('error');
});
});
return msg; >>579
ラズパイからadbコマンドを使ってFireTV StickのNetflix起動は出来たんで、頑張れば行けそうではある >>616
redisは入れ直し不要。redisはOS側で組み込んでるからシステムディレクトリに入ってる。
hubotはnpmで再導入は必要だけど同じアクセスキーを入れればそのままログインは出来る。 >>617
いいですね!bin/say.js にも取り入れようかな。
>>573 >>615
WindowsやFreeBSDでの検証ありがとうございます。
朗報を楽しみにしています。 Chromecast は持ってないけど FireTV Stick はあるんで
何か映像で遊べないかなと思って調べてるけど
やってる人はいるかな
https://github.com/happyleavesaoc/python-firetv
https://github.com/Sor3nt/Amazon-Fire-TV-Stream
これらあたりをいじってみようと思ってるけど >>617
詳細情報ありがとうございます。
土日にトライしてみます! >>573
Windows Subsystem for Linuxを利用してるってことかな
現状サーバーとしての運用はできないって情報があるからhubotサーバーとしては使えないのかも
他にWSLで691氏のシステム運用できてる人がいたら情報欲しいね >>624
WSLは使ってないです
純粋なWin上での動作ですね
>>621
ブロードキャスト周りの知識を全く持ち合わせてないのでこれ以上は俺には無理です
ラズパイがブロードキャスト時に送ってるパケットとWinが送ってるパケットを(console.logで)見たけど同じようだったしお手上げです
パケットキャプチャとかめんどくさくてやってられないし・・・ 現在、691さん環境のRaspberryで鯖を立ててGoogleHomeminiを運用しています。
黒豆とChromeCastとSonoffを使用していますが、ワンフレーズで複数の機器を制御したいと考えています。
具体的には、Slack経由で黒豆にコマンドを流しているのですが、加えて同時にSonoffでもOn/Offを切り替えたいと思っています。
Sonoffは専用アプリをIFTTTに紐づけて制御しているので、Thatが一つの機器に限定される非開発者版では黒豆と同時にコマンドを流すことができません。
そこで、複数コマンドを実行させる際にSlackに特定のワードを話させて、IFTTTに戻す形でSonoffも動かそうと考えていますが、もう少しスマートなやり方があるような気がしています。
もしくはSonoff自体のファームをESP Easyに変更する事も考えていますが、ほかにアプローチはないでしょうか?
初歩的な質問かもしれませんが、アドバイスお願いできませんか? 試してないけど、sonoffはwebapiあるみたいだから、専用アプリ使わずにcommand登録してhubot経由で動作させたらいいんじゃね? >>626
たしかIFTTTのthisを同じ条件にした複数アプレット作れば、全てのthatがキックされるはず。 イベントベースでttsに読み上げさせてるけど、別の部屋にいたり、ちょっと外出してたりすることもあるので
人感センサーと連携させて、メッセージが登録されたあと、次に人を検知したタイミングで話すようにしてみた。
完全に自己満足の世界だが満足。
ラズパイから伸びた基盤むき出しのPIRは見た目がアレなので、ナノブロックでケース作ったけど、ハマると3Dプリンターに興味でてくるな。 >>628
できる。多分これが一番単純で簡単な解だと思う うちの TV は Sony の 2014年製の KDL-40W600B で AndroidTVじゃないんで
外部からコントロール出来ないと思ってたんだけど
https://github.com/alanreid/bravia
を使うとLAN内からコマンドを投げて制御できたんで古めのBraviaの人も試してみるといいかも
これでホームネットワークに一歩近づいた >>631
電源ONちゃんと動いてますか?
うちはKDL-46W900Aだけど、PowerOnが確実に動くか不明だったので別のにしました。
ソースコード見るとarpコマンドでmacアドレスを割り出しているようだから、arpテーブルにない場合は動かなそうだなと。 >>627 webApi確認してみます。
>>628
>>630 なるほど、たしかに一番単純で簡単な解決法ですね。
ご助言ありがとうございましたq >>632
そこのコードでmac固定値で入れとけばいいんじゃない? BRAVIAのリモートからの電源オンはただのWake on LANだから
どうにでもなる。 ていうか、上のコードもPowerOnのときはマジックパケット送ってるだけだよね >>632
電源Onはうちでも無理だったので Bravia の 「ホーム」->「ヘルプ」->「お客様サポート」->「本体情報」で確認できる
MACアドレスにWoLパケットを送るようにして対応
あと、使うライブラリは npm install bravia で入る
https://github.com/waynehaffenden/bravia
の方に乗り換え
こっちの方はIRCCコードを送るだけじゃなく、各種情報の取得や設定が簡単にできるので
音量の上げ下げだけじゃなく絶対値で操作できるようになって便利かなと
で、いろいろ試していたら
const Bravia = require('bravia');
let bravia = new Bravia('192.168.1.xx', '80', 'xxxx');
bravia.avContent.invoke('getPlayingContentInfo')
.then(info => console.log(info))
.catch(error => console.error(error));
で現在表示中の番組名なんかを取得できるのがわかったんで「この番組何?」って聞いて番組名を答えてくれる機能が
できそうなんで結構いい感じ
>>637
できます うちのAQUOSは、ここで教えて貰ったコードが挙動不審なので、諦めてChromecast買ってしまった >>468 の SUREユニバーサルリモートを使おうとしたんだけど、
XPERIA XP(SO-04H)だとPlayストアに出てこない。
PCで見ると「このアプリはお使いの端末に対応していません。」て。
なんでだ?Android 7.0なのに・・・ >>641
日本の端末じゃ落とせないからapkぐぐって落としてきたらいいよ 岩槻アピ○閉店記念!!周りから集まった情報をまとめてみた(不審な客として扱われていたH・美代○の事)
長宮(旭段ボール脇の香取神社のある細い道沿い住み)のH・美代○(80歳位)は、虚言が多いから、話半分で聞いてた方がよいような人。
口では偉そうな事を言ってるが、やらせると全く出来ず、実態が伴わない。
昔、PTAの簡単な役さえ出来なくて周りから非難されてた。また、パートの仕事に出ても、毎回すぐに辞めてしまう事で有名だった。仕事内容を理解するのが遅く、首を切られた事もある。
中学卒業後、晩婚だったが、その間も無職。また口が臭かった(地元が一緒だった人の話)。
H・美代○に似て、息子3人とも働けない。
今まで面倒な事は何もしてこず、有り余った時間で、自分家の為になる事や、自分がやりたい事だけやってきたズルい人らしい。そのためか、健康そのもの。
顔の骨格はマントヒヒ。デカい唇。がめつく欲深い。
物流が多く、川通公園(やまぶきスタジアム)、スーパー夢らんど、新岩槻郵便局がある地域。
大口に住む息子(H・フミ○)はアピ○で試食品を食べ荒らす迷惑行為をしていた。
フミ○は昔、職場で給料泥棒だと言われ(仕事が出来ず、何もしてない)、会社を辞めさせられた。そのお金で小屋を建てたみたいだが、会社の人達は、半分自分達の物だと思っている。 ps4-wakerをインストールして起動から本体を登録しようとしても
could not detect any matching ps4 device
と表示されるのですがどうしたらいいのでしょうか? 691さんの環境をラズパイゼロwとgoogle home miniで実現しています。691さんありがとうございます。
ここにswitch botを組み入れ、自宅外からもお風呂のお湯張りボタンを物理的に押したいと考えています。
どのように組み入れるのが一番簡単でしょうか?
ちなみにswitch botはまだ入手していないのですが、ラズパイからも操作可能なようです。
https://github.com/OpenWonderLabs/python-host/blob/master/README.md
switch botは一つだけの導入予定です。
自宅ではgooglehome経由で声での操作、自宅外からはスマホで操作したいです。
何かヒントをいただけないでしょうか?
よろしくお願いします。 >>645
ラズパイから操作出来るなら操作するシェルスクリプト作ってそれをcommandに登録すればいい。 給湯リモコンは脱衣所とかに設置してあるタイプなのかな?
浴室内に設置してあるタイプだとswitchbotじゃ無理かと >>646
ありがとうございます。
commandに登録というのが良くわからないのですが、どこに登録すれば良いのでしょうか?
自宅外から操作したいので、slack経由でできればありがたいのですが、hubot?からラズパイにあるシェルスクリプトを叩くことができるのでしょうか?
slackは691さんの環境を構築する時に初めて触りましたので全然分かってません…。
>>647
給湯リモコンはキッチンにありますので、そこに設置する予定です。 >>649
自宅外からの操作って、変に作り込むよりグーグルアシスタント使えば? >>617
google-home-notifier.jsにボリューム変更機能付けてみたんだけど元のボリュームに戻すタイミングってどうしてる?
普通にやっても実際にHomeが喋り出す前にsay.jsの実行は完了しちゃう(非同期実行されてる)
なので喋り終わる前にボリュームを戻してしまわないようにお喋りが終わったか監視する仕組みを考えないとダメっぽい >>649
691氏環境に任意のlinuxコマンドを叩く機能がある。
そこに操作コマンドを登録してslackから黒豆コマンドと同じ要領で実行すればいい。
詳しくは691氏ブログ参照。 >>652
自分の場合はめんどくさいので文字数カウントしてテキトウな秒数かけてsetTimeoutさせてる。
使ったことないけど、ソースコード見るとplayer.getStatusがあるみたいなので、これで終了判定できるかもしれない。 >>645
難しいことはせずにSwitch linkを購入したら?設定に1分ほど時間かかるけど普通に音声で操作できる。 時間あったのでcastv2-clientのコードを確認してみたら、playerでのステータス変化をemitしていたので、捕まえてみたら、再生終了時に以下のようなイベントが飛んでくるみたい。
----- BEGIN:player.on(status) -----
{ mediaSessionId: 1,
playbackRate: 1,
playerState: 'IDLE',
currentTime: 0,
supportedMediaCommands: 15,
volume: { level: 1, muted: false },
currentItemId: 1,
idleReason: 'FINISHED' }
----- END :player.on(status) ----- 自分はgoogle-home-notifier.jsを修正して使っているので、以下のように書き換えたら想定通りの動きになりました。
var onDeviceUp = function(host, url, callback) {
var client = new Client();
client.connect(host, function() {
client.launch(DefaultMediaReceiver, function(err, player) {
var media = {
contentId: url,
contentType: 'audio/mp3',
streamType: 'BUFFERED' // or LIVE
};
client.getVolume(function(err, curvol){
if(err) console.log(err);
console.log(curvol);
client.setVolume({ level: volume }, function(err, newvol){
if(err) console.log(err);
console.log(newvol);
});
player.on('status', function(status){
console.log('----- BEGIN:player.on(status) -----');
console.log(status);
console.log('----- END :player.on(status) -----');
if(status.idleReason=='FINISHED'){
client.setVolume({ level: curvol.level }, function(err, newvol){
if(err) console.log(err);
console.log(newvol);
client.close();
});
}
});
player.load(media, { autoplay: true }, function(err, status) {
callback('Device notified');
});
});
});
});
client.on('error', function(err) {
console.log('Error: %s', err.message);
client.close();
callback('error');
});
}; pastebinとかに貼り付けてリンク貼ってもらうほうが良い気がする volume変数も自分がカスタマイズして持たしてる変数なので、上記のコード使う場合はどこかでvolume変数を設定しておいて下さい。 >>653
ありがとうございます!unixコマンドを操作するってやつですね!
ちょっと調べてやってみます! >>655
>>655
switch linkもお持ちなんですか?!良いですね。
出来ることならラズパイにまとめたいです。linuxもslackも全然分からないので手探り状態で色々試してます…。 ■ このスレッドは過去ログ倉庫に格納されています