【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/ 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も全然分からないので手探り状態で色々試してます…。 >>662 おおーどもですどもです 実際のところ今回の件は(どうしても行数が嵩んで読みにくい以外)そこまで気にしなくてもいいとは思うんだけど スレに貼り付けたコードってライセンスが面倒なことになる(匿名故にauthor不明+書き込み規約の問題)んで 基本的にはコードをスレに貼らないほうがいいんすよ Raspberry Pi ZeroとHome miniで691氏のHomeの喋らせ方を構築中ですが、 bin/say.jsの実行させてもError: getaddrinfo -3008 となります 自分でググった情報を元にhomeのipアドレスをhome.ip("192.168.xxx.xxx"); で指定すると♪コンニチワと喋りました しかしながらhomeはDHCPなので解決には至っていません。 この場合、process.argvがうまく作動してないのでしょうか? またはipを自動取得するコードの追加が必要でしょうか? アドバイスよろしくお願いいたします。 >>645 バスタブの栓を開けたまま給湯して、数百リットルのお湯をダイレクト排水する未来が見える >>666 ありがとうございます。できました。 当該ページの手順は一通りやっていたはずですが、確認したところ ・ファイル `node_modules/mdns/lib/browser.js` を以下のように修正する。 の`getaddrinfo({families:[4]})`とするところが抜けていました。 再度修正更新したところ、ipを指定しなくても(実際は//で行をコメントアウト)喋らせられました。 >>665 さんもありがとうございました。 >>639 Braviaの操作、色々設定して結構いい感じになってきた system/getPowerStatus で電源のオンオフが判定できるので電源オフ時には WoLを送って3秒待ってから命令を送信するとうちの環境だとちょうど受信可能な状態に なっている感じに 音量設定も「音量を20にして」みたいに直接指定できるようにして、誤認識対策に 設定した音量以上にならないようにリミッターをかけるようにした あと、Rewind を送信して nミリ秒後に Play を送信するコマンドを作って、擬似的な 「○秒戻し」ができるようにしてレコーダーなんかの再生時に結構快適になった こういうのがスクリプトで制御できる利点だよなぁ >>662 素晴らしい! 自分はplayer.loadのstatusに再生時間(duration)がセットされてたのでテキトーなオフセット値を加えてsetTimeoutでボリューム戻すようにしたんだけど断然スマートですね >>667 マジレスすると、普通はお湯張りしてすぐに入りたいから(そのために自宅外から操作したいわけだし)帰宅時間から逆算してお湯張り開始するよね。だから例え何かミスしててもそんな大きな被害にはなりにくい。(無いとは言ってない…) >>671 深夜電力のタンク式の給湯器だけど年に数回栓を忘れてボタンを押してるが一定時間内に水位が上がらないとエラーで自動停止する 給湯入出口が漬かるまでは水が出てその後お湯が出るから無駄になるのは冷たい水だけで 量はせいぜい50リットルぐらいだと思う。トイレ5回分位の水か? IFTTTを真ん中に置いて、赤外線系の操作を691さんので、 トリガー側に、dasherでダッシュボタンや、 homebridge-iftttでsiriとかapplewatchも取り込んだ。 これでほぼ無双状態w コルタナさんが IFTTT に来てる 今まで全然興味なかったけど、Google Home 買ってからなんか利用できないか考えるようになった マイクの用意すらしてないけど https://ifttt.com/blog/2018/02/Hey-Cortana-welcome-to-IFTTT https://ifttt.com/cortana リンナイだと100リットルくらい出して水位上がらなかったらエラー出して止まらなかったっけ? メーカーによるとしか言えない所だろうけど各社もう少しIoTに力入れて欲しいよな 10年位に一度しか入れ替えタイミング無いから困る 給湯ボタンを押せるようにSwitchbotを設置する。 1-2分で設定は終わるから SwitchLinkを導入したほうがスマートスピーカーに対応させるのには早い。 うちは給湯器とブラーバにSwitchbotを付けて使ってる。 風呂は掃除後に栓をする習慣にしとけば良いとして、 ブラーバって使う前にウェットシートセットが必要だし、終わった後は手動で充電が必要だから自動化のメリット少なくない? >>678 ルンバ使用後に使いたいたいから出かける時にブラーバのセットしておいて、ルンバが掃除終了後にブラーバに指示を出す感じかな >>679 なるほど、ルンバとの連携で使うのか その発想はなかった 家にいるときに掃除させるのは結構邪魔なんで便利ですよ >>660 > >>653 > ありがとうございます!unixコマンドを操作するってやつですね! > ちょっと調べてやってみます! >>674 iftttでアプレット作ろうと思ったけど日本語には対応してないのかな アルファベットを含まないフレーズだと登録できないみたい ルンバってIoT対応モデルがなぁ。 せっかくの自動製品なんだから1世代前の680くらいアップデートで対応してくれてもいいのに。 >>685 安いかどうか知らんがaliでrm mini3が1つ送料別1736円、送料115円。送料無料の店だと1860円。円高になればまた変わる。 >>688 これに関してはAliよりebayの方が安い店が多いような。 でも、遅いね。1月28日オーダーで多分明日か明後日着。 今、川崎らしい。 春節休みだから今からあっちに出す注文は22日くらいに通ったと考えないと >>688 そのせいか rmmini3はまだ海外が安いけど、ソケットが1500円近くになってたわ 先週1100円だったんだけど 今ソケット買うなら日本でもいいけどまた値下がるかね 俺も二週間くらい前にeBayで注文。 PayPal支払いで1400円ちょいだった。 ちょうど通関終わったくらいだから、あと数日で届くと思われ。 SUREアプリで黒豆制御できるとの書き込み見て、2台あるとはかどるって話だったから、一週ほど遅れてもう一個注文してみたけど、最初に買った方と同じところのやつは品切れっぽかった。 春節やらの影響で一時的に品薄なってるだけかもしれんけど、現状安いところが減ってきてるような印象を受ける。 去年12月に届いた黒豆が調子悪い 再起動後や Wi-Fiルータ再起動でGoogleHomeとの連携切れる。 ihcでは動くけど 修復方法は 黒豆 Homeアプリ で設定全消し後にアプリ入れ直しし作り直せば復活するが 4,5回やってもう疲れたよ。黒豆が不良品なのかな? さらにGoogleHomeに電源入ってるとWi-Fi速度が2,30M台から7~4Mまで落ちてプチプチ切れる。ルータ再起動で直るが数日で再発する。 同じような方おりますか? オレ環境なら黒豆買い直そうかと検討中。ソフバン光ルータは新しいのが今日届き様子見してる。 >>699 春節自体はそうだけど今週末くらいまでは休暇のところが多い 来週になれば動き出すが、この2週間で溜まりに溜まった業務が詰まってて、正常化するまで2週間はかかるのが通例 >>694 それうちも同じですよ。例のGooglehomeがパケット流しまくってる問題が まだ解決しないので、黒豆買いなおしても同じかと思われます。 2つ黒豆あるけど2つとも同じ症状。諦めてます。 http://japanese.engadget.com/2018/01/16/google-home-chromecast-wi-fi/ >例のGooglehomeがパケット流しまくってる問題 全然理解できてないな castする側の問題なんだが 先日、Raspberry環境下でIFTTT経由のSonoffのeWeLinkとSlackでの黒豆制御の同時コマンド送信について質問したものです。 IFTTTの起動コマンドを同一にして、黒豆のコマンドとeWelinkに投げたのですが、今のところ後に作成したeWeLinkのIFTTTが無視されているようです。 色々試して結果をご報告させていただきますが、同様の環境で動かされている方がおいででしたらノウハウをご教示いただければ幸いです。 回答者の中にご確認いただけた方もおられましたが、今のところうまくいっていない事だけご報告させて頂きます。 >>706 eBayより安いところを教えてください 僕も知りたい ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる