【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/ Google TTS の声も味があってまあいいんだけど
VoiceText Web API
https://cloud.voicetext.jp/webapi
も使えるようにしたら遊びの幅が広がったんでおすすめ
複数人での掛け合いも表現出来るようになるし
ライブラリも揃ってるんでなんかしらの言語が使えれば割りと楽 もしかして>>501って、Google Homeは持っていなくて、正しく動かしたことなかっただけか?
質問の仕方も最低だったが・・・ >>523
VoiceText API使った記事はいくつか見てて面白そうだなーって思ってた
ttp://gadgetneko.blog.jp/archives/5326857.html
ttps://www.sevencredit.com/2018/02/07/834/
そうか掛け合いも出来る様になるのか・・・ >>510
1)チャンネルにhubotと別botを招待
2)別botに@hubot send light:on@kitchen
これで上手く行きました。ありがとうございます。
(やや不安定ですが……) プロジェクター付きのYoga tab 3 pro 10とかに命令送って天気情報とかマップとか壁に表示させたいな セリアのマグネット付LEDライトとダイソーのBluetoothリモートシャッターを組み合わせてBluetoothドアセンサー(開閉センサー)作ったったー
エアコンのルーバーに貼り付けて電源ON/OFFの監視が捗るわー
(テレビの電源とロボット掃除機のバッテリー残量も一緒にmackerelで監視してる)
あとは玄関ドアの施錠状態も監視したいけどリビングのラズパイまでBluetoothが届かなさそう… コマンドライン上で操作可能な内容なら、理論上は全て音声操作可能になったのか
(googlHome→IFTTT→webHook→プログラムを起動)
技術の発展に驚く >>519
ありがとうございます、FireStick先日購入したので早速試します 691氏のツイッターでフォローされたときの通知でhomeに喋らせるやり方ですが、
Which channel欄で、Private Groupと、homebot の参加しているプライベートグループを選択する
とあるのですがどう入力すればいいのでしょうか?
@homebotか自分のIDのどちらかしか選択できません >>532
おれもそこはちょっとつまづいた
slack左側メニューのチャンネルの右側にある+をクリック
パブリックをプライベートに変更して適当な名前をつけて(HOMEとか)チャンネルを作成
作成したチャンネルを開いて「このプライベートチャンネルに他のユーザーを招待する」をクリック
homebotを検索して追加
これでいけるはず
mythingはダイレクトメッセージが使えないのでこの設定をしておかないと使えない >>525
これを元に691氏のものと組み合わせて通常しゃべる声を変えてみようと試みたものの、、いつものゆっくりGoogleな声しか出てこず。。
もし詳細なやり方頂ければ大変助かります >>533
丁寧にありがとうございます
ツイッターで別アカを作ってフォローを試していますが、
slackのプライベートチャンネルのほうにコマンドが飛んでおらず喋ってもらえませんね・・・ >>535
which channelでダイレクトメッセージを選んで
@homebotにコマンドを送ってもいけると思うけど
その場合はコマンドの最初のhomebotは付けずにsay()で >>530
1.マグネット付きLEDライトに付いてるLED2個を取り外して、配線をハンダ付け
2.Bluetoothリモートシャッターのボタン電池を取り外して、1.の配線を電池端子にハンダ付け
3.Bluetoothリモートシャッターの電源スイッチをON
これでマグネット付きLEDライトからマグネットが離れるとBluetoothリモートシャッターに通電して自動的にペアリング待ち状態になる
後はラズパイでBluetoothの接続状態を定期的に監視すれば
→接続ONならエアコンがついてる
→接続OFFならエアコンが消えてる
ってわかる >>537
一つ重要なことがあった
ダイソーのBluetoothリモートシャッターは接続ON状態になってもボタン操作がないと1分30秒で勝手に電源が切れちゃう
エアコンみたくON状態を長時間監視したいならシャッターボタンを押したままの状態で固定しておけば電源が勝手に切れなくなるよ >>538
リードスイッチかホール素子を使うかの違いくらいで開閉センサーの仕組みなんて基本一緒じゃない?
開閉センサーの設置場所の近くで電源がとれるならBluetoothなんて使わずにラズパイのGPIOに繋げはいいんだけどねー まぁ、これまでも話に出ているけれども、ihcが要求してくる権限は引くレベルだな >>540
エアコンの電源は近くにないのか
>>542
褒めてるんだぞ これ窓とか玄関に付ければ簡易ホームセキュリティできるね
あと、自室につけとけば親が勝手に入ってエロ本探したかどうかも検知できるな >>534
手順としては
VOICE TEXT WEB API で音声生成してダウンロード
-> グローバルに http で到達可能な場所に音声ファイルを設置
-> google-home-notifer の play に音声ファイルの url を投げる
という形なので global ip なり DynamicDNS なりで httpd を立てる必要があるので慣れてない人には
ちょっと面倒かも
クラウドストレージ系の公開機能をうまく使えば鯖がなくてもできるかもしれないけど
あと、セキュリティも気をつけないとね。再生後、適宜消去しないと誰でも聞けちゃうから >>545
音、匂い、ゴミ、エロ本の種類で
親は君のオナニーや性癖を完全熟知しているが
見ざる言わざる聞かざる >>546
なるほど。。urlを投げる、ですっきりしました。
(敷居が高いと言うことを含め)
ご教授の通り、セキュリティー面に気を付けないと危ないですね。
ご丁寧にありがとうございました。 あれ?globalで到達可能な必要ってある?
音声ファイルを取りに行くのはhome自身なので、homeから到達可能なurlならローカルIPアドレスでも問題ないと思うけど。 691氏いつもありがとうございます。
ようやく構築できたのですが、複数の黒豆を登録で、リモコンコードを
ちゃんと覚えてくれなくて困っています。
3台(eRemote,黒豆2台)はちゃんと認識できていて、eRemoteはアプリから
使っているので、設定対象は黒豆2台です。
リビングとベッドルームで名前登録(iPとMacアドレスの両方)を済ませ、
コードを覚えさせる時には、それぞれ白く光ってくれるので認識できていると思います。
しかし、それぞれに
homebot learn tv:on@living
homebot learn tv:on@bedroom
で別々のリモコンコードを覚えさせても、後からのコードのみ記録されて
先に登録したリモコンコードが消えてしまいます。
Slake連携も済ませてあるので、Slakeからhomebot learn tv:on@bedroomを
送っても反応がありません。
過去スレ読み漁っていますが、それでもわからないので、有識者の方からの
ご意見を頂戴したいです。すいません。 >>549
その通りでした
うちの apache の vhostの設定ミスってただけでした
というわけで鯖さえ建ってればローカルIPの直指定で問題ないですね
m(_ _)m ローカルIPでいけるなら、意図的にoffにしてなければhubotがexpress使ったhttpインターフェイス持ってるし
うまいこと利用すれば行けたりしないかね
//localip:port/voicetext を home に渡して、hubotでは robot.router('/voicetext') で音声返すとかになるんかな >>550
黒豆「ごと」に赤外線覚えるのではなくて
hubot「が」赤外線覚えて各黒豆に送りつけてるので
tv:on@living と tv:on@bedroom は 同じ tv:on に記録される
tv:living:on と tv.bedroom:on とかで名称変えよう >>550
これだとリビングで「tv:on」という名前で信号を覚えた後に
寝室で「tv:on」という同じ名前で信号を覚えてるだけだから上書きされちゃう
なので信号の名前を使い分ければいい
たとえばリビングのテレビは「tvl:on]、寝室のテレビは「tvb:on」として覚えさせればいい
信号を覚えるのはどの黒豆から覚えても同じなので@でわざわざ指定しなくても大丈夫 >>553
レスありがとうございます。
わかりました。帰宅してから試してみます。
初歩的なミスですね。ありがとうございました。
また報告させていただきます。 >>554
なるほど、理解できました。
帰って試させてもらいます。ありがとうございました。 >>537
原理は理解しきれませんが、
面白いですね。ありがとうございます。 黒豆買ってないけど、sony-bravia-tv-remote と wake_on_lan で
テレビ(BRAVIA)を一通り操作できるようになった。
持ってる機種によっては赤外線で操作するより楽かも。 >>559
google-home-notifierのpackage.jasonの中見ると
依存関係にmdnsモジュールも記述されてるから
google-home-notifierのインストールがうまくいってれば、mdnsディレクトリがいないのはおかしい
pwdってコマンド打つと
/home/ユーザ名/homebot
って表示される? >>560
ご返答ありがとうございます。
はい、そのように表示されています。 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
これらあたりをいじってみようと思ってるけど ■ このスレッドは過去ログ倉庫に格納されています