RS-WFIREX3
- スマホやスマートスピーカーで家電をコントロールできる家電リモコン。外出先からスマホで家電を操作できる。
- スマートスピーカーを接続すると、話しかけるだけで家電の操作が可能となる。Amazon Alexa、Googleアシスタント、ドコモ my daizに対応する。
- 本体には温度・湿度・照度センサーを内蔵。状況を確認しながら帰宅前の部屋を快適に保てる。

-
- テレビリモコン 49位
- 学習リモコン・スマートリモコン 18位
テレビリモコン > RATOC > RS-WFIREX3
やりたいことは、例えば、室温が20℃以下になったときに、アレクサに「寒くなってきましたね。暖房を付けてください」のようにしゃべらせる、又は通知を送りたいのです。
IFTTTを使えば温度をトリガーにして、メールを送ったりデータを記録したりできるようですが、これを応用してアレクサにしゃべらせることができればいいのですが(Echo側の話になってしまいますが。)。
またIFTTTを使った場合、20℃以下になると延々とトリガーを出し続けますので、何度もメールが送られます。
これを回避することは可能でしょうか。
よろしくお願いします。
書込番号:23171583
3点
>taku0208さん
一つ目の、IFTTTのアクションにEchoの指定は出来ないと思います。
Google Homeだと別にサーバを立てて発声させる事は出来ますが、Echoで出来るかどうかは未確認です。
二つ目の、温度をトリガーに指定すると連続してアクションが発生するのは、工夫すればほぼ回避はできると思います。
但し、Google Apps Script(GAS)で細かく記述する必要があるので面倒だと思います。
以下の様な感じです。
・IFTTT
1.センサー情報をGoogleスプレッドシートに記録する
2.”何か”をトリガーにしてGASを起動させる(Webhookを利用)
・GAS
GASでスプレッドシートの最終行をチェックし、条件(例えば20℃以下)に合致する場合は一つ前の行をチェックし、条件外であるかどうかを確認する
条件外の場合のみメール通知する
問題は2個目のIFTTTを動作させる”何か”ですが、正常動作するか分かりませんが1で行が追加されるのでそれをトリガーにして起動するのが一番簡単です。
もし駄目なら位置情報や時刻を旨く組み合わせる(IFTTTは別に指定)とか利用に当たって許容できる条件を決めるしか無いと思います。
書込番号:23171982
![]()
2点
>亜都夢さん
ご返信ありがとうございます。
Google Apps Scriptという手がありましたね。しばらく使っていなかったので思いつきませんでした。
これで、IFTTTを使って作成したスプレッドシートから温度を判断してメールを送ることができますね。
何らかのトリガーは必要でなく、例えば30分おきに見に行くようにすればよいと思います。
メールでアレクサくんに通知を送ることって、できるのでしょうか。
そんなことくらいできそうですが、なんかできなさそうなんですよね。
と思って、いまちょっと探していたところ、「音声連絡(ボイスコンタクト」スキルというのを見つけました。
https://www.amazon.co.jp/%E3%82%B7%E3%83%A3%E3%83%89%E3%82%A6%E3%82%BA%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B9%E5%90%88%E5%90%8C%E4%BC%9A%E7%A4%BE-%E9%9F%B3%E5%A3%B0%E9%80%A3%E7%B5%A1%EF%BC%88%E3%83%9C%E3%82%A4%E3%82%B9%E3%82%B3%E3%83%B3%E3%82%BF%E3%82%AF%E3%83%88%EF%BC%89/dp/B07WF6577R
メッセージをアレクサに通知することのできるスキルのようで、IFTTTとの連携も可能のようです。
なんか使えそうですが、Google Apps Scriptから送るのは一工夫が必要のようです。
書込番号:23172044
0点
Echoは勝手には話さないと思います。
通知が届いても通知ランプが光るだけかと。
>あなたの Echo 端末にプッシュ通知が届いたら、「アレクサ、通知を読んで」と言って、届いた通知を確認してください。
書込番号:23172077
1点
先ほど見つけた、「音声連絡(ボイスコンタクト」スキルを少し研究してみました。
Google Apps Scriptからwebhookをこの送ることで、アレクサにメッセージを通知することができそうです。
つまり、
1) IFTTTで、RS-WFIREX3からgoogle spreadsheetに温度情報を送る(あるタイミングで垂れ流し)
2) Google Apps Scriptによって、先ほどの温度情報を30分ごとに確認し、20℃以下であれば、「音声連絡(ボイスコンタクト」スキルの「音声連絡API」へ、「メッセージ」を設定してwebhookを送る。
3) ただし、1つ前の温度情報が20℃以下なら送らない。
といった感じでしょうか。
書込番号:23172100
1点
>ひまJINさん
アレクサにしゃべらせたい場合は、定型アクションのアクション設定で、「Alexaのおしゃべり」か「メッセージ」を選べば可能です。
書込番号:23172112
0点
>taku0208さん
面白そうなので試してみようかと、以前設定したスプレッドシートを確認したら…
センサーの記録を停止するのを忘れていました。
そこで気づいた事を書いておきます。(もしかしたら説明書きがどこかにあるかも)
スプレッドシートは2000行まで記録されます。
それを越えると新たなスプレッドシートが新規作成されるみたいです。
記録を開始したとき(2019年7月)は最初はほぼ1分毎(間隔はまちまち)でしたが、30分経過後から間隔が長くなっていました。
記録開始から約139時間後(5日と19時間)からは2時間毎の記録(12件/日)しかありませんでした。
もし日常的に運用される予定なら、定期的なスプレッドシート消去とIFTTTの動作停止が必要だと思います。
前者はGASを仕込めば出来ますが、後者はわざわざ手動で止めるのは面倒ですが他に方法があるのかな…
書込番号:23172210
1点
>柊の森さん
情報ありがとうございます。
(2)迄はどこかで読んだ記憶(細かい数字は別にして)があるのですが、なぜか(3)は記憶にありませんでした。
さすがに2時間間隔だとセンサー値を監視して処理を行うのは厳しいですね。
書込番号:23172546
0点
>taku0208さん
>柊の森さん
訂正です。
古い方のスプレッドシートを確認して2時間間隔が連続していると判断しました。
念のため新しい方を確認したら、途中(12月7日の途中)から1時間間隔で記録されていました。
たぶん、仕様変更があったのだと思いますが、未確認です。
2時間間隔よりはずっと良いですが…
書込番号:23172575
0点
>亜都夢さん
>柊の森さん
いろいろ情報ありがとうございます。
IFTTTを設定する時に、2000を超えたら新しいシートが作成されるといった注意書がありますね。これは継続的に運用するにはちょっとやっかいですね。古いデータを消していけばいいのかな。あまりエレガントではないですけど。
サンプリング間隔はなんかあまり思想が感じられないですね。2時間は空きすぎですよね。なかなか痒いところに手が届かない感じですね。
まあ、一応出来そうなので、手が空いたときにでもスクリプト組んでみようかと思います。
書込番号:23172675 スマートフォンサイトからの書き込み
1点
>taku0208さん
拡張性も考えて、スクリプト(とりあえずメール送信として)を書いてみました。
但し、考えた全部は実装できていませんが、記述部分だけの動作(メール送信)は確認しました。
IFTTTでトリガーを決めて呼び出せば良いはずです。
GASが参照し、自身も組み込まれるスプレッドシートは下記の様な形式(A1から記述)としました。
タイトル、センサー、方向、基準値
温度低下、温度、低下、20
※センサーは3つあるので、必要なら複数を指定してメール送信等ができると思います。
テストでは最終行の記述のみ利用していますが、全行を参照して実行する様にすれば良いはずです。
以下、スクリプトサンプル(変数の命名などあまり綺麗じゃないですが、ご参考まで。)
// シートをチェックしメール送信
function check_sheet() {
// アカウント指定
var myAccount = '<アカウントを指定>;
// スプレッドシート関連項目を取得
// 監視項目を記述したスプレッドシート
var Control_book = SpreadsheetApp.getActiveSpreadsheet()
// シートを指定
var Control_sheet = SpreadsheetApp.getActiveSheet();
// 最終行を取得(テスト用に最終行のみ利用)
var Control_LastRow = Control_sheet.getLastRow();
// データ記録スプレッドシート
var Data_book = SpreadsheetApp.openById('<スプレッドシートIDを指定>');
// シートを指定
var Data_sheet = Data_book.getActiveSheet();
// 最終行を取得
var Data_LastRow = Data_sheet.getLastRow();
//監視項目を記述したスプレッドシートの各項目の値を取得
var title = Control_sheet.getRange(Control_LastRow,1).getValue();
var item = Control_sheet.getRange(Control_LastRow,2).getValue();
var status = Control_sheet.getRange(Control_LastRow,3).getValue();
var comparison_value = Control_sheet.getRange(Control_LastRow,4).getValue();
//監視項目によってデータシートの列を指定
var col_number
switch (item) {
case "温度":
col_number = 3
break;
case "湿度":
col_number = 4
break;
case "照度":
col_number = 5
break;
}
//データシートから最終行と一つ前の値を取得
var latest_value = Data_sheet.getRange(Data_LastRow,col_number).getValue();
var last_value = Data_sheet.getRange(Data_LastRow-1,col_number).getValue();
//最終行の値と基準値を比較
var mail_flag = 0;
switch (status) {
case "低下":
if(latest_value <= comparison_value){
if(last_value > comparison_value){
mail_flag=1;
}
}
break;
case "上昇":
if(latest_value >= comparison_value){
if(last_value < comparison_value){
mail_flag=1;
}
}
break;
}
//フラグを見てメール送信
if(mail_flag==1){
MailApp.sendEmail(myAccount, title, item +'が指定値'+comparison_value+'より'+status+'しました\n'+ new Date());
}
}
書込番号:23173177
![]()
1点
>亜都夢さん
素晴らしいです!
僕にはこんなにちゃっちゃっとスクリプトが書けるほどのスキルがはないので、ぜひ参考にさせていただきます。
僕は昨日の晩、「音声連絡(ボイスコンタクト」スキルのウエブサイトにある「IFTTT を使って Arlo で動作検知を連絡する方法」を試してみましたがうまくしゃべってくれませんでした。
そのウエブサイトの「音声連絡/お試しフォーム」からはうまくいくのですが。
またうまくできるようになったら報告します。
書込番号:23173546
0点
>taku0208さん
>「音声連絡(ボイスコンタクト」スキルのウエブサイトにある「IFTTT を使って Arlo で動作検知を連絡する方法」を試してみましたがうまくしゃべってくれませんでした。
私もWebだけは斜め読みしました。
Arloは例示だと思いますが、お持ちじゃないなら別の何かをトリガーにされたのですよね?
何をトリガーは何にされて、意図する(トリガーが発動する)状態になっているのに駄目って事ですか?
久しぶりにIFTTTのページを見ましたが、以前とUIが全く違っていて戸惑いました。
以前は作成がメインでしたが、たぶん今は作成された物の利用がメインなのですね。
トリガーとターゲットを自由に組み合わせる為に必要な作成画面(If+This Then That)を見つけるのが大変でした。
しかも、PCとスマホだと違うのも迷いましたが、taku0208さんは迷いませんでしたか?
上に書いたスクリプトはコメントが足りない部分(最後の方は端折った)もあると思います。
また、見れば分かりますが、比較判断する際に「上昇」または「低下」で基準値との比較方向を変えています。
本当は、もっとシンプルにならないかと思いましたが、諦めました。
変数名やそれぞれの言葉は適当なので、分かりやすく変更すれば良いと思います。
書込番号:23173601
1点
記載ミス
トリガーとターゲット → トリガーとアクション
書込番号:23173604
0点
>亜都夢さん
IFTTTはは今回初めて(数日前に)使ったので、前のと違いは知らず、戸惑いはありませんでした笑
「+」の記号をクリックすると作成画面が出ますね。
トリガーは、「If You say "Alexa trigger ・・・"」というのを使いました。これはうまくいくことを確認しているので、ターゲットの”Webhooks"がちゃんと働いていないのかもしれません。
亜都夢さんの書かれたスクリプト、早速試してみました。
問題なく動作してくれました。
大変助かりました。
あとは、アレクサにしゃべらせるだけですね。
書込番号:23173621
0点
>taku0208さん
無事にスクリプトが動いて良かったです。
久しぶりに書いたのですが、忘れかけてた部分もあり記憶のリフレッシュになりました。
良い切っ掛けを頂いたので、単一ではなく指定した複数の条件を全てチェックしてとか遊んでます。
Echoの発音に関しては調べたらGoogleより簡単かもしれないですね。(まだ確信無し)
見つけて頂いた音声連絡は、サービス元が若干不安な感じもして登録はしていません。
セキュリティ面では疑問符もありますが、Cookieを利用して特定のEchoの発音が可能っぽいです。
それなら、別途サーバを立てたりしないでもGASだけで何とかならないのか?とか…
ただ、しっかり調べ切れてないですが、Amazonのクラウドサービス(有料)を利用しないと駄目な感じもします。
結局、以前に少し遊んだだけで休眠状態だったラズパイを起動しました。
なぜかOSのアップデートが終わらないので放置してます。
書込番号:23175615
0点
>亜都夢さん
いろいろとご助言ありがとうございます。
音声連絡のAPIを使った通知ですが、IFTTT経由で上手くいきました。
昨日ダメだった理由は、コピーして使った例(音声連絡のサイト)のダブルクォーテーションのキャラクターが違っていたからのようです。
なぜかわかりませんが。
手で打ち直したらちゃんと動くようになりました。
これを亜都夢さんのスクリプトに組み込めばできると思います。
簡単にサブファンクションを作ってみました。
このファンクションにmessageを引き渡すとアレクサに通知が届きます。
(ほとんどコメントがなくて済みません。)
/*
* messageをアレクサにpostする関数
*/
function sendHttpPost(message){
var data =
{
'access_code' : '<音声連絡で発行されるアクセスコード>',
'message': message,
'title': 'アレクサへのメッセージ(任意)',
'mail_address':'<メールアドレス(任意)>'
};
var options =
{
'method' : 'post',
'contentType' : 'application/json',
'payload' : JSON.stringify(data)
};
UrlFetchApp.fetch('https://voice.notify.shadows-works.com/v2/alexa-voice-notify-api', options); //音声認識API
}
一応、目的がほぼ達せられたのでこのスレはこれで締めようと思います。
皆様ありがとうございました。
書込番号:23175763
3点
このスレッドに書き込まれているキーワード
「RATOC > RS-WFIREX3」の新着クチコミ
| 内容・タイトル | 返信数 | 最終投稿日時 |
|---|---|---|
| 1 | 2022/12/23 16:16:08 | |
| 0 | 2022/11/24 17:04:51 | |
| 3 | 2022/07/18 10:20:25 | |
| 25 | 2021/04/02 17:00:54 | |
| 1 | 2020/09/11 20:36:52 | |
| 7 | 2020/08/19 16:26:34 | |
| 6 | 2020/08/06 21:57:04 | |
| 11 | 2020/08/01 9:57:58 | |
| 1 | 2020/07/21 17:28:22 | |
| 11 | 2020/02/04 11:30:44 |
クチコミ掲示板検索
新着ピックアップリスト
-
【欲しいものリスト】外付けHDD
-
【欲しいものリスト】a
-
【Myコレクション】Windows11対応でCPU換装とディスク増強
-
【Myコレクション】pc
-
【Myコレクション】メインアップグレード最終稿
価格.comマガジン
注目トピックス
(家電)
テレビリモコン
(最近5年以内の発売・登録)









