Make.com × OpenWeatherMapで実現する「全自動・農業気象ログ」

「地域の天気を自動で記録し、手間をかけずにブログへ公開したい」 そんな目標を掲げ、ノーコードツールのMake.com、気象データAPIのOpenWeatherMap、そしてGoogleスプレッドシートを組み合わせて、一歩も手を触れずに更新され続ける「農業気象ログ」を構築しました。

システムを確実に動かすための「2枚のシート活用術」と「WordPress連動」のプロセスを記録します。

1. システムの全体像:データの流れ

今回の仕組みは、以下の4ステップで動いています。

  1. OpenWeatherMap: 最新の気象データを発行。
  2. Make.com: 1時間おきにデータを取得し、スプレッドシートの「取得用シート」へ運ぶ。
  3. スプレッドシート(整形用シート): 届いた生データを「ARRAYFORMULA」で日本時間や数値に自動変換。
  4. WordPress: 整形済みデータをブログ上に自動反映。

2. 「取得用」と「整形用」シートを分ける理由

スプレッドシートには、APIが直接書き込む「取得用シート」と、ブログ表示用に整える「整形用シート」の2種類を用意しました。

APIから届くデータは、タイムゾーンが世界標準時だったり、不要な記号が混じっていたりと、そのままではブログに使えません。そこで、「整形用シート」に数式を仕込んでおきます。

① 日本時間(JST)への自動変換

日の出・日の入り時刻などを日本時間へ直します。

=ARRAYFORMULA(VALUE(LEFT(SUBSTITUTE(取得用シート!E4:E, "T", " "), 19)) + "9:00")

「取得用シート」に新しいデータが追加された瞬間、この数式が自動で「9時間」を足して、正しい日本時間を算出します。

② 風速データのピンポイント抽出

記号混じりのデータ({"speed":2.08...})から数値だけを抜き出します。

=ARRAYFORMULA(REGEXEXTRACT(取得用シート!H4:H, "[0-9.]+"))

正規表現を使い、複雑なテキストから「2.08」といった純粋な数値だけを抽出。これでグラフや表で見やすい形になります。

3. 運用のキモ:ARRAYFORMULAでの「完全自動化」

通常、新しい行が追加されるたびに数式をコピーする必要がありますが、ARRAYFORMULAをシートの1行目に一度書いておけば、その後のメンテナンスは一切不要です。これこそが、完全自動化の核となるテクニックです。

Tips: 気温や湿度が変な日付(1900/01/14等)に化けてしまった場合は、スプレッドシートの [表示形式] → [数字] → [数値] を設定し直すだけで解決します。

4. 仕上げ:WordPressへの自動連動

整形したデータをブログへ届けます。

  1. ウェブに公開: スプレッドシートの「ファイル」→「共有」→「ウェブに公開」を選択。
  2. 範囲の指定: 「埋め込み」用のコードを発行します。
  3. WordPressに設置: 発行されたコードをWordPressのカスタムHTMLブロックに貼り付けます。

これで、スプレッドシートが更新されるたびに、ブログ上の気象ログも自動で最新の状態に書き換わるようになりました!

結び

最初は「API」や「正規表現」といった言葉に苦戦しましたが、一つずつ繋げていくことで、「高原町のリアルタイム農業気象ログ」が完成しました。

これからデータが蓄積されていくことで、過去の天気と作物の成長記録を照らし合わせるのが楽しみです。ITの力を使って、よりスマートな農業を目指していきたいと思います。

コメント