Windows10、LinuxPCの開始、終了時にIFTTT→LINE Notify経由でメッセージを送る

 テレワークでパソコンをリモートで接続する需要も高まっていると思います。その際、起動・終了のメッセージをスマホに送付できれば便利だなと思い実現できるか試してみました。IFTTT→LINE Notifyを経由すれば可能だったので手順を忘れないようにメモしておきます。

 もくじ

IFTTTとLINE Notifyの連携

 IFTTTとLINE Notifyの登録や連携については下記のブログが詳しいです。

Messageの欄を下記のように設定すると分かりやすいかもしれません。

用意する値

 先ほどのブログを参照して以下の2つの値を用意します。

  • イベント名
  • Webhooksのキー文字列

Windows10はバッチファイルを作成し登録する。

 Windows10ではバッチファイルを作成し、そのあとグループポリシー設定を変更してバッチファイルを登録します。

※ バッチファイルはC:\bat\send_message_to_linenotify.batという名前で説明します。

①バッチファイルの作成

 下記のようにバッチファイルを作成します。2行目と3行目のYOUR_EVENTNAMEとYOUR_KEYはIFTTTで確認した値に変更します。

set URL=https://maker.ifttt.com/trigger
set EVENTNAME=YOUR_EVENTNAME
set YOUR_KEY=YOUR_KEY

set VALUE2=%DATE%%TIME%
set VALUE3=%COMPUTERNAME%

set WEBHOOKSURL=%URL%/%EVENTNAME%/with/key/%YOUR_KEY%

curl -X POST --ssl-no-revoke -H "Content-Type: application/json" -d ^
        "{\"value1\":\"%1\",\"value2\":\"%VALUE2%\",\"value3\":\"%VALUE3%\"}" ^
        %WEBHOOKSURL%

exit

②グループポリシーエディタの起動

 「Windows」+「R」を押して「gpedit.msc」を起動します。

③グループポリシーの変更

 「コンピューターの構成」→「Windowsの設定」→「スクリプト(スタートアップ/シャットダウン)」を選択します。

④スタートアップとシャットダウンの設定を変更

 作成したバッチファイルをスタートアップとシャットダウンに登録します。

スタートアップ

 スタートアップをクリックし、プロパティを開いた後、追加を押します。「スクリプトの追加」ダイアログが開いたら作成したバッチファイル名とパラメーターに「Startup」(任意)を設定してください。

シャットダウン

 スタートアップと同じようにスクリプトを追加します。パラメーターは「Shutdown」(任意)です。

終了

 設定が終わったらダイアログをOKで閉じます。PCをシャットダウン→起動してLINEに通知が来れば完了です。

 

Linuxの場合はシェルスクリプトを作成しsystemdに登録する。

 Ubuntu18.04と20.04及びRaspberryPi OS(旧Raspbian)で動作確認しています。

①シェルスクリプトの作成

 シェルスクリプトを作成します。ファイル名やフォルダは任意ですが、「~/bin/iftttline.sh」で作成したと仮定します。

#!/bin/bash

URL="https://maker.ifttt.com/trigger"
EVENTNAME="YOUR_EVENTNAME_HERE"
YOUR_KEY="YOUR_KEY_HERE"

VALUE2=${2:-`date '+%Y/%m/%d,%H:%M:%S'`}
VALUE3=${3:-`hostname`}

WEBHOOKSURL="${URL}/${EVENTNAME}/with/key/${YOUR_KEY}"

curl -X POST -H "Content-Type: application/json" -d \
        '{"value1":"'$1'","value2":"'${VALUE2}'","value3":"'${VALUE3}'"}' \
        ${WEBHOOKSURL}

echo $1 $2 $3
exit 0

②権限の設定

 作成したシェルスクリプトに実行権限を与えます。

chmod 755 ~/bin/iftttline.sh

③Unitファイルの作成

 systemd用のUnitファイルをsudoで作成します。作成するファイルは「/lib/systemd/system/ifttt.service」です。

※ USER_NAMEのところは自分のユーザー名に変更してください。

[Unit]
Description=Send IFTTT to LINE Message
After=network-online.target

[Service]
ExecStart=/home/USER_NAME/bin/iftttline.sh "SystemStart"
ExecStop=/home/USER_NAME/bin/iftttline.sh "Shutdown"
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

④サービスの登録

 下記のようにコマンドを実行してサービスを登録します。サービスをスタートさせるとLINEにSystemStartのメッセージが来るはずです。

sudo systemctl enable ifttt.service
sudo systemctl start ifttt.service

動作の様子

 LINEへ通知がくると下記のように表示されます。

おわりに

 テレワーク等で家に置いてあるパソコンの起動・終了を監視したい場合に便利なので活用してみてください。

コメントを残す

メールアドレスが公開されることはありません。

eighteen − 1 =