天気予報見ない奴必見

天気予報見ない奴必見

Pocket

たまにやってしまうのですが、翌日の天気予報も確認せずに洗濯物を外に干したまま就寝します。翌日の天気が雨だった場合は・・・言うまでもないでしょう。(明日の降水確率確認すればいいのに)

そこで考えつきました。毎日洗濯物をするくらいの時間帯にLINEで天気予報を通知すればこの惨劇は繰り返されないと。(明日の降水確率確認すればいいのに)

というわけで以下、レシピ


~用意するもの~

  • LINEアカウント
  • Linuxサーバ
  • Linuxサーバの基本的な知識(またはそれに準ずるエンジニア)

~手順~(詳細な手順はめんどくさいので省く!)

1.LINEアカウントを用意します(普段使ってるアカウントでおk)

2.天気予報通知用のグループを作成し、自分と LINE Notifyを招待します

3.以下のサイトにアクセスし、アクセストークンを発行します
https://notify-bot.line.me/ja/

4.Linuxサーバ上で以下のスクリプトを作成します

#!/bin/sh

#================================#
# Script name : weather_notify.sh
# Discription : Notice of Nagasaki weather use
# How to : # weather_notify.sh
#     $1 : -
#     $2 : -
#     Example: #
# Date : 2020/04/23
# Maker: k@mail.hisashi.work
#================================#



#================================#
# variable
#================================#
WEATHER_URL='https://www.jma.go.jp/jp
/week/348.html'
WEATHER_HTML='348.html'
TARGET='/tmp'

TOMMORROW=''
TWO_DAYS_AFTER=''
THREE_DAYS_AFTER=''
FOUR_DAYS_AFTER=''
FIVE_DAYS_AFTER=''
SIX_DAYS_AFTER=''
SEVEN_DAYS_AFTER=''


#================================#
# functions
#================================#

__getForecast(){

    rm ${TARGET}/${WEATHER_HTML} 2>/dev/null

    wget ${WEATHER_URL} -P  ${TARGET} 2>/dev/null

    TOMMORROW_ONE=`cat /tmp/348.html | grep pop | awk 'NR==1' | tr "<" " " | tr ">" " " | tr "/" " " | awk '{print $5}'`
    TOMMORROW_TWO=`cat /tmp/348.html | grep pop | awk 'NR==1' | tr "<" " " | tr ">" " " | tr "/" " " | awk '{print $6}'`
    TOMMORROW_THREE=`cat /tmp/348.html | grep pop | awk 'NR==1' | tr "<" " " | tr ">" " " | tr "/" " " | awk '{print $7}'`
    TOMMORROW_FOUR=`cat /tmp/348.html | grep pop | awk 'NR==1' | tr "<" " " | tr ">" " " | tr "/" " " | awk '{print $8}'`
    TWO_DAYS_AFTER=`cat /tmp/348.html | grep pop | awk 'NR==2' | tr "<" " " | tr ">" " " | awk '{print $5}'`
    THREE_DAYS_AFTER=`cat /tmp/348.html | grep pop | awk 'NR==3' | tr "<" " " | tr ">" " " | awk '{print $5}'`
    FOUR_DAYS_AFTER=`cat /tmp/348.html | grep pop | awk 'NR==4' | tr "<" " " | tr ">" " " | awk '{print $5}'`
    FIVE_DAYS_AFTER=`cat /tmp/348.html | grep pop | awk 'NR==5' | tr "<" " " | tr ">" " " | awk '{print $5}'`
    SIX_DAYS_AFTER=`cat /tmp/348.html | grep pop | awk 'NR==6' | tr "<" " " | tr ">" " " | awk '{print $5}'`
    SEVEN_DAYS_AFTER=`cat /tmp/348.html | grep pop | awk 'NR==7' | tr "<" " " | tr ">" " " | awk '{print $5}'`

    A=`echo $((100-$TOMMORROW_ONE)) | awk '{print $1*0.01}'`
    B=`echo $((100-$TOMMORROW_TWO)) | awk '{print $1*0.01}'`
    C=`echo $((100-$TOMMORROW_THREE)) | awk '{print $1*0.01}'`
    D=`echo $((100-$TOMMORROW_FOUR)) | awk '{print $1*0.01}'`
    E=`echo $A $B $C $D | awk '{print $1*$2*$3*$4}'`
    F=`echo $E | awk '{print 1-$1}'`
    G=`echo $F | awk '{print $1*100}'`
}
__weatherNotify(){
        curl -X POST -H "Authorization: Bearer <発行したアクセストークン>" -F "message=明日の<地域名>降水確率は$G%です" https://notify-api.line.me/api/notify
}



#================================#
# main
#================================#

__getForecast
__weatherNotify


exit 0

5.上記のスクリプトをcronに登録しておきます

#### wether notify
0 20 * * * sh /root/bin/weather_notify.sh > /dev/null 2>&1

これで洗濯物も安心~!(明日の降水確率確認すればいいのに〜!)

Tags: ,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です