ホーム » 「LINE」タグがついた投稿
タグアーカイブ: LINE
IFTTTのwebhooksトリガーでLINEメッセージ送信
家に帰る時に、家族のLINEに「今から帰る」とメッセージを送りたいんだけど、iOSのショートカットだと、メッセージ文面をいちいち入力する必要がある。そこで、LINEのメッセージ送信は、IFTTT に任せることにして、スマホでショートカットなり、ショートカットのオートメーションから、LINEメッセージ送信を起動したい。
また、IFTTTの JSON形式を返すWebhook trigger だと、safari が開いたままになるので、webhook trigger を起動し、x-callback-url を返す trigger ページを作ってみた。
<?php // IFTTTのwebhookトリガを呼出す // x-callback-url の機能で呼び出し側(shortcut)に戻る // ifttt webhook url $ifttt_webhook = "https://maker.ifttt.com/trigger/%s/with/key/xxxxxxxxxxxxxxxxx_xxxxxx" ; $mykey = "yyyyyyyyyyyyyyyyyyyyyy" ; // パラメータを読み込む $key = isset( $_GET[ "K" ] ) ? $_GET[ "K" ] : "" ; $command = isset( $_GET[ "C" ] ) ? $_GET[ "C" ] : "" ; $json = file_get_contents( "php:input" ) ; // 想定外の接続は無視 if ( $_SERVER['HTTPS'] != 'on' || $key != $mykey ) exit( 1 ) ; // 時間によるwebhook呼出し制限の前処理 $localtime = localtime( time() , true ) ; $l_hour = $localtime[ "tm_hour" ] ; $l_week = $localtime[ "tm_wday" ] ; // webhookの呼出し function post_webhook( $trigger , $json ) { global $ifttt_webhook ; $url = sprintf( $ifttt_webhook , $trigger ) ; $opts = array( 'http' => array( 'method' => 'POST' , 'header' => 'Content-type: application/json; charset=UTF-8' , 'content' => $json ) ) ; $context = stream_context_create( $opts ) ; header( "Content-Type: application/json; charset=utf-8" ) ; // x-callback-urlで処理後はショートカットに戻す header( "Location: shortcuts://" ) ; // IFTTTのtriggerを呼出す print file_get_contents( $url , false , $context ) ; } // GETパラメータで呼び出しするwebhookを切り替え if ( $command == "go_home" ) { // ショートカットからの呼出し用 // go_homeリクエストを中継 post_webhook( "go_home" , $json ) ; } else if ( $command == "go_home_time" ) { // オートメーションからの呼出し用 // 平日の帰宅時間のみ中継 if ( 17 <= $l_hour && $l_hour < 21 && 1 <= $l_week && $l_week <= 5 ) post_webhook( "go_home" , $json ) ; else exit( 0 ) ; } else { exit( 1 ) ; } header( "Content-Type: application/json; charset=utf-8" ) ; ?>
家族専用LINEボット
LINE本社で開催されていたハッカソンの引率をする中、自分でも家族専用のLINE-botを作ってみた。
LINEトークのメール転送
自宅では、家族のLINEグループを作っているけど、家に帰るといった連絡を親にも伝えたいことが多かった。しかし、両親そろってネット音痴でスマホを使いこなせないし、LINEを使うなんて無理。一方、我が家では、両親の居間のTVの脇に、LEDメッセンジャーを置いてあり、Raspberry-Pi をつないで家族のその日のスケジュールを表示するようにしてあった。さらに、Raspberry-Pi にメールを送ると、LEDメッセンジャーにメールのタイトル部を表示するようにしてあった。
そこで、今回、Webにあった LINE Messenger API を使った、オーム返しするボットのプログラムを参考に、特定のメッセージを、LEDメッセンジャー用のメールに転送させてみた。
実際に運用して、LINEボット経由で、LEDメッセンジャーに「今から帰る」を送ってみたけど、ちゃんとメッセージが伝わっていた。
LINE Beacon
ハッカソンでは、LINE Beacon を貸してもらえて、これも使ってみた。我が家では、お兄ちゃんが今年から大学でアパート住まいになったけど、慣れてくるとなかなか家に連絡をくれない。ママはアパートにカメラ置こうとか言うけど、それはお兄ちゃんも嫌がるよ。
ということで、大学の行き帰りぐらいが通知で送られてくるだけでも、ありがたい。LINE Beacon であれば、お兄ちゃんのアパートにBeacon を置いて Beacon の Enter イベントで LINE に push 通知すればいい。といっても、ハッカソン終了時に Beacon は返却だったので、早速 LINE Beacon を発注。
うまく活用できるようになったら、一人住まいの義母用にもう1個発注になりそう。
追記 2018/12/24 届いた
追記 2019/01/05 子供のアパートに設置
子供にも安否確認のための設置を理解してもらい、無事アパートに設置。
ただ、LINEをあまり起動しないのか、通知も少ないけど、家の出入りは確認できそう。