スマートホームからのお知らせをLINEで通知を飛ばすためにLINE Notifyを使っていたが、どうやら2025年3月31日にサービス終了するらしいので代替としてMessaging APIを利用することにした。
LINE Notifyを使った記事はこちら
登録
まずはLINE Developersに登録する。
LINEアカウントがあればすぐに登録できる。
プロバイダー作成とチャネルの登録(Messaging API)を行う。
Messaging API チャネルの作成はLINE公式アカウントを作成する必要があるので、手順に沿ってアカウントを作成しよう。(特に難しい項目はないので説明は省略)
準備
続いてLINE Officeal Account Managerから作成したLINE公式アカウントを選び、設定からMessaging APIを有効化する。
完了後、LINE Developersのコンソールから作成したプロバイダー→チャネルを選択し、Messaging API設定をクリックし、QRコードをLINEで読み取り、公式アカウントを友だち追加する。
その際に、Messaging API設定ページ下部にあるチャネルアクセストークン(長期)を発行しておこう。
使い方
以下は部屋の温度が30℃を超えた際にLINEに通知が届く用のシェルファイルを作った例だ。
私の場合はこれをラズパイ上に置いて、ホームアプリのオートメーションからSSHで実行している。
curl -v -X POST https://api.line.me/v2/bot/message/push \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {ここに長期チャネルアクセストークンを入力}' \
-d '{
"to": "ここにユーザーIDを入力",
"messages":[
{
"type":"text",
"text":"室温が30℃を超えたためエアコンが自動でONになりました。\n窓や扉を閉めてください。\n\n家に不在でこのメッセージが送信されている場合は誤作動の為、「ホーム」アプリからエアコンをオフにしてください。"
}
]
}'
ユーザーIDはLINE Developersの作成したチャネル内のチャネル基本設定の一番下に「あなたのユーザーID」があるのでそれをコピーする。
何となくDevelopersとOfficial Account Managerでごちゃごちゃした感じがあるけどOfficial〜の方は”作ったLINE公式アカウントの管理”といった感じなのかな。
ホームアプリでのSSH実行等は以下の記事を参照。
終わりに
LINE公式アカウントからの通知なので今までのLINE Notifyアカウントからの質素な感じからは脱却できると思う。
が、Messaging APIはフリープランだと200通/月(1メッセージ×友だち登録者数で計算なので家族で共有する場合は更に苦しくなる)なので運用の仕方によってはすぐに制限に引っかかってしまうことがあるのでNotifyの代替としては少し微妙な所ではある…。
コメント