ホーム » 「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をあまり起動しないのか、通知も少ないけど、家の出入りは確認できそう。
![]()
![]()




