店舗の温度・湿度管理をZapierで自動化 — IoTセンサー値をSlackに通知し、異常値を検知したらLINEにアラートを飛ばすレシピ(小売・飲食店向け)
小売・飲食店の温度・湿度管理を、IoTセンサーとZapierで効率化します。センサーの値を記録し、異常時はSlackやLINEで通知する方法を、費用と運用上の注意点を含めて解説します。まずは1店舗・1設備から始められる実践的な手順です。
- 温度・湿度の記録を自動化し、記録漏れを減らす方法
- Zapierの料金と、センサー・クラウドサービスの費用目安
- Webhookを使ってセンサーの値を受信する設定手順
- 異常値を判定し、SlackやLINEへ通知する方法
- 複数店舗のデータをGoogle Sheetsで管理する方法
- 無料プランの制限や、LINE Notify終了後の代替策
編集長の見解: 温度・湿度管理の自動化は、記録作業の削減だけでなく、異常への初動を早める仕組みです。ただし、ツール導入だけで法令上の対応が完了するわけではありません。店舗の衛生管理手順と照らし合わせ、通知後の確認・記録まで決めてから運用しましょう。
なぜ温度・湿度管理を自動化するのか
小売・飲食店にとって、温度・湿度の管理は、法令遵守と商品の品質維持に関わる重要な業務です。食品の保管条件は、食品の種類や設備によって異なります。実際の運用では、自治体や所管保健所の案内、商品の表示、社内の衛生管理計画を確認してください。
HACCPに沿った衛生管理は、2021年6月から原則としてすべての食品等事業者に求められています。温度管理の記録も、店舗の衛生管理計画に沿って残すことが重要です。
現場では、次のような課題が起こりがちです。
- 閉店後の記録漏れが起きる
- 温度異常に次の確認時まで気づけない
- 記録作業に毎日10〜15分かかる
- 紙の記録簿を紛失する
- 書き忘れや記録の不備を後から修正する
IoTセンサーは、一定間隔で温度や湿度を測定します。Zapierは、そのデータを受け取り、Slackへの記録やLINEへの通知につなげます。
補足: 自動化で作れるのは、記録と通知の仕組みです。異常時の現場確認、商品の扱い、再測定、責任者への報告は、店舗側の手順として別に定めてください。
自動化の効果を得るには、まず必要な機材と費用を把握しましょう。
必要なものと費用の目安
温度・湿度管理の自動化には、主に4つの要素が必要です。
| 要素 | 主な選択肢 | 費用目安 | 編集部の評価 |
|---|---|---|---|
| IoTセンサー | SwitchBot温湿度計、M5Stack ENV III | ¥2,000〜¥8,000 | 初心者は専用製品 |
| データ中継クラウド | Ambient、ThingsBoard | 無料〜月額 ¥500 程度 | 無料プランから検証 |
| 自動化サービス | Zapier | 無料〜月額約 ¥3,100 | タスク数を確認 |
| 通知先 | Slack、LINE Messaging API | 無料〜従量制 | 既存環境を活用 |
Zapierの料金や機能は変更される場合があります。契約前に公式料金ページで、利用できるタスク数と機能を確認してください。
センサーの選び方
温度・湿度センサーには、専用クラウドと連携できる製品と、自分で組み立てる方式があります。
専用クラウド付きの製品は、スマートフォンアプリから設定しやすい点が特徴です。Zapierとの連携には、製品のAPIや、Ambientなどの中継サービスを使います。
DIY方式は、センサー1個あたりの費用を抑えやすい一方、プログラムの設定と保守が必要です。店舗運営を優先するなら、初期費用だけでなく、故障時に復旧できるかも比較しましょう。
データ中継クラウドの役割
センサーのデータをZapierへ渡すには、センサーから直接送る方法と、中継サービスを使う方法があります。AmbientはIoTデータの可視化に使える国内サービスです。ThingsBoardは、自社サーバーなどに構築できるIoT管理基盤です。
最も分かりやすい連携方法の一つが、Webhook(サービス間でデータを送る仕組み)です。センサーや中継サービスが、ZapierのWebhook URLへデータを送信します。
注意: センサーを選ぶ際は、データの送信頻度と通信方式を確認してください。5〜15分間隔で足りる店舗もありますが、設備や衛生管理計画によって適切な間隔は異なります。送信頻度を上げると、電池消費やZapierのタスク消費も増えます。
必要なものがそろったら、次はZapierでデータを受け取る設定です。
Zapierの基本設定とWebhook
Zapierは、複数のサービスをつなぎ、条件に応じて処理を実行する自動化サービスです。自動化の単位を「Zap」と呼びます。
無料プランのタスク数やステップ数は変更される可能性があります。現在の条件は、Zapier公式サイトで確認してください。
Zapの基本構成
Zapは、次の要素で構成します。
| 項目 | 説明 | 設定例 |
|---|---|---|
| トリガー | 自動化を始めるきっかけ | Webhookの受信 |
| アクション | 実行する処理 | Slackへ通知 |
| フィルター | 条件に合う場合だけ進める設定 | 温度が設定値以上 |
| データ整形 | 数値や日付を整える処理 | 日時の表示形式を変更 |
Webhookでセンサーデータを受信する
設定の流れは次のとおりです。
- Zapierで「Create Zap」を選択する
- トリガーに「Webhooks by Zapier」を選ぶ
- イベントで「Catch Hook」を選ぶ
- 表示されたWebhook URLをコピーする
- センサー側で、そのURLへデータを送る設定をする
- Zapierでテストデータを受信する
センサーから次のようなJSONを送ると、Zapier内で各項目を後続処理に使えます。
{"temperature": 12.5, "humidity": 45.2}
ヒント: Webhook URLは第三者に知られないように管理してください。テストには、実際の設備データではなく、仮の温度・湿度を使うと安全です。
Webhookと定期実行の使い分け
Webhookは、データを受信した時点で処理を始めたい場合に向いています。定期実行は、一定時刻の記録や週次レポートに向いています。
- 異常通知: Webhookで受信して条件判定する
- 定期記録: 定期実行で最新値を取得する
- 週次集計: 定期実行でGoogle Sheetsを集計する
次は、店舗スタッフが確認しやすいSlack通知を作ります。
レシピ1: 温度・湿度をSlackへ定期通知する
このレシピでは、定期実行でセンサーの最新値を取得し、Slackへ送ります。
店舗での利用例: 店長が毎時の通知を確認し、開店前と閉店後に記録が届いているかを点検します。異常があれば、担当者が設備を確認し、対応内容を別途記録します。
ステップ1: 定期実行を設定する
Zapierで「Create Zap」を選び、トリガーに「Schedule by Zapier」を設定します。
| 設定項目 | 設定例 | 説明 |
|---|---|---|
| 実行間隔 | Every hour | 1時間ごとに実行 |
| 実行時刻 | 毎時0分 | 店舗の運用に合わせる |
| 実行日 | 毎日 | 営業日だけにする場合は曜日を指定 |
ステップ2: センサーの最新値を取得する
アクションに「Webhooks by Zapier」の「GET」を設定します。利用するクラウドサービスのAPI仕様に合わせて、最新データを取得するURLを入力してください。
AmbientのAPIを使う場合のURL例は次のとおりです。
https://ambidata.io/api/v2/channels/CHANNEL_ID/data?readKey=READ_KEY&n=1
CHANNEL_ID と READ_KEY は、実際のチャンネルIDと読み取りキーに置き換えます。APIキーや読み取りキーは、記事や公開チャットに貼らないでください。
ステップ3: Slackへ送信する
アクションに「Slack by Zapier」の「Send Channel Message」を設定します。
| 設定項目 | 設定例 | 説明 |
|---|---|---|
| Channel | #温度管理 | 通知先のチャンネル |
| Message Text | 現在の温度と湿度 | センサー値を挿入 |
| Bot Name | 温度モニター | 表示名 |
メッセージ欄では、「Insert Data」から温度と湿度の項目を選びます。店舗名と設備名も加えると、複数設備を運用する場合に判別しやすくなります。
ステップ4: 通知を見やすく整える
Slackのブロック形式を使うと、温度・湿度・計測時刻を整理して表示できます。利用できる形式は、SlackとZapierの最新仕様を確認してください。
{
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "温度・湿度レポート"
}
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*温度:*\n12.5℃"
},
{
"type": "mrkdwn",
"text": "*湿度:*\n45.2%"
}
]
}
]
}
編集部のポイント: 通知には、店舗名、設備名、測定時刻を含めてください。値だけを送るより、誰がどの設備を確認すべきか判断しやすくなります。
ステップ5: テストして有効化する
各ステップでテストを実行し、APIから値を取得できるか、Slackへ通知できるかを確認します。問題がなければZapを有効化します。
次は、異常値だけを担当者へ伝えるLINE通知です。
レシピ2: 異常値を検知してLINEへ通知する
このレシピでは、Webhookでセンサー値を受け取り、フィルターで条件を判定します。条件に合う場合だけ、LINEへ通知します。
ステップ1: Webhookを設定する
トリガーに「Webhooks by Zapier」の「Catch Hook」を設定します。表示されたURLをセンサー側の送信先に登録してください。
ESP32とArduino環境を使う場合の送信例です。
#include <WiFi.h>
#include <HTTPClient.h>
void sendDataToZapier(float temperature, float humidity) {
HTTPClient http;
http.begin("https://hooks.zapier.com/hooks/catch/XXXXXXXX/XXXXXXXX/");
http.addHeader("Content-Type", "application/json");
String json = "{\"temperature\": " + String(temperature) +
", \"humidity\": " + String(humidity) + "}";
int httpCode = http.POST(json);
http.end();
}
本番利用では、通信失敗時の再送、認証情報の保護、センサーの時刻設定も確認してください。
ステップ2: 条件を設定する
「Filter by Zapier」を追加し、後続の通知を実行する条件を設定します。
| 条件 | 設定例 | 説明 |
|---|---|---|
| 冷蔵設備の温度上昇 | temperature が 10 以上 | 設定した基準に応じて判定 |
| 冷凍設備の温度上昇 | temperature が -15 以上 | 設定した基準に応じて判定 |
| 湿度上昇 | humidity が 80 以上 | 結露や品質への影響を確認 |
基準値は、商品の表示、設備仕様、衛生管理計画、所管保健所の案内を確認して決めます。記事中の数値は設定例であり、すべての店舗に適用できる基準ではありません。
ステップ3: 閾値を調整する
設備ごとに、通常値と通知値を分けて管理します。
| 設備 | 通常値の例 | 通知値の例 | 確認事項 |
|---|---|---|---|
| 冷蔵庫 | 0〜10℃ | 12℃以上 | 商品表示と衛生管理計画 |
| 冷凍庫 | -18℃以下 | -15℃以上 | 設備仕様と商品の保管条件 |
| チルド設備 | 0〜5℃ | 7℃以上 | 商品ごとの保存条件 |
| 店内の保管場所 | 20〜28℃ | 30℃以上 | 商品品質と季節変動 |
重要: 通知が頻発すると、担当者が通知を見なくなるおそれがあります。最初の1〜2週間は通常値を確認し、実際の変動に合わせて通知値を調整してください。通知後の現場確認を省略しないことも重要です。
ステップ4: LINEの通知方法を準備する
LINE Notifyはサービス終了が案内されているため、新規構築ではLINE Messaging APIなど、現在利用できる方法を検討します。サービスの提供状況と料金は、LINE Developersの公式情報で確認してください。
利用する方式に応じて、チャネル作成、アクセストークン発行、通知先の設定を行います。認証情報は、Zapierの設定画面など安全な場所で管理してください。
ステップ5: LINEへアラートを送る
ZapierのLINE連携アクション、またはWebhookによるLINE Messaging API連携を設定します。具体的な項目名は、利用する連携サービスの最新仕様に合わせてください。
通知には、次の情報を含めます。
- 店舗名と設備名: どこを確認するか
- 現在値: 温度・湿度と計測時刻
- 基準値: どの条件に該当したか
- 対応内容: ドアや電源などの確認手順
通知文の例です。
温度異常アラート
店舗: 1号店
設備: 冷蔵庫A
現在温度: 12.5℃(設定した通知値: 12℃以上)
計測時刻: 2026-07-15 14:30
対応: 庫内、ドアの閉まり、電源を確認してください。
ステップ6: 複数条件を組み合わせる
温度または湿度が通知値を超えた場合に通知するには、フィルターでOR条件を設定します。利用するZapierプランによって、条件分岐の機能やステップ数に違いがある場合があります。
異常通知は、値を伝えるだけでなく、現場の対応までつなげることが大切です。
複数店舗のデータを一元管理する
1店舗で動作を確認した後、複数店舗へ展開します。店舗IDと設備IDを付けると、本部や店長が通知元を判別しやすくなります。
店舗IDと設備IDを付ける
Webhookで送信するデータに、店舗と設備の識別子を含めます。
{
"store_id": "store_001",
"device_id": "refrigerator_a",
"temperature": 12.5,
"humidity": 45.2,
"timestamp": "2026-07-15T14:30:00+09:00"
}
この情報をGoogle Sheetsの列に保存すると、店舗別の確認や集計がしやすくなります。
Google Sheetsへ自動記録する
アクションに「Google Sheets by Zapier」の「Create Spreadsheet Row」を設定します。
| 設定項目 | 設定例 | 説明 |
|---|---|---|
| Spreadsheet | 温度管理記録 | 保存先 |
| Worksheet | 2026年7月 | 月単位の保存例 |
| 店舗ID | store_001 | 店舗の識別子 |
| 設備ID | refrigerator_a | 設備の識別子 |
| 温度 | 12.5 | センサー値 |
| 湿度 | 45.2 | センサー値 |
| 計測時刻 | 2026-07-15T14:30:00+09:00 | 計測日時 |
記録を残すと、過去の値や異常発生時刻を確認できます。保健所への提出や保存の要件は、自治体の案内と店舗の衛生管理計画に従ってください。
ヒント: Google SheetsのQUERY関数やピボットテーブルを使うと、平均値や最高値を集計できます。まずは「店舗名、設備名、温度、湿度、計測時刻」の5項目から始めると管理しやすくなります。
週次レポートを作る
毎週月曜日に、前週の状況をSlackやメールへ送る方法もあります。レポートには次の項目を含めます。
- 店舗ごとの平均温度・湿度
- 通知が発生した回数と日時
- 前週からの変化
- 確認が必要な設備
まずは1店舗で記録形式を固めてから、複数店舗へ展開すると設定ミスを減らせます。
注意点とトラブルへの対処
自動化は、設定後も定期的な点検が必要です。センサーの電池、通信状態、通知先、記録の保存状況を店舗の点検項目に加えましょう。
電池切れや通信断を検知する
センサーの電池切れや通信断が起きると、異常値ではなく「データが届かない」状態になります。次の対策を組み合わせてください。
| 対策 | 内容 | 費用目安 |
|---|---|---|
| 定期点検 | 最終受信時刻を確認 | 無料 |
| 受信間隔の監視 | 一定時間データがなければ通知 | Zapierの利用量に応じる |
| 電池残量の送信 | 残量が少ない場合に通知 | 無料 |
| 予備センサー | 故障時に交換 | 機器代 |
毎時などの定期実行で最終受信時刻を確認し、設定した時間を超えてデータがなければ、担当者へ通知します。
Zapierのタスク数を確認する
Zapierでは、処理の実行量に応じてタスクを消費します。15分間隔で1台のセンサーを記録すると、1か月でおよそ2,880回の処理になります。複数店舗で使う場合は、センサー台数と送信頻度を掛けて見積もってください。
| プラン例 | 月額費用の目安 | タスク数の目安 | 確認事項 |
|---|---|---|---|
| Free | 無料 | 100タスク | 最新の上限を確認 |
| Professional | 約 ¥3,100 | 750タスク | 為替と料金改定を確認 |
| Team | 約 ¥7,600 | 2,000タスク | チーム機能の必要性を確認 |
料金とタスク数は変更される可能性があります。無料プランで始める場合は、送信頻度を下げる、手動確認を併用するなど、用途を限定して試してください。
注意: 送信頻度を下げると費用は抑えられますが、異常の発見が遅れる可能性があります。費用だけでなく、商品の特性と衛生管理計画を基準に間隔を決めてください。
LINE連携の提供状況を確認する
LINE Notifyのように、既存サービスが終了する場合があります。新しく仕組みを作る際は、LINE Messaging APIなどの現行サービスを候補にし、料金、送信上限、設定方法を確認してください。
データをバックアップする
Ambientなど無料プランの保存期間が限られるサービスでは、長期保存用の仕組みを別に用意します。Google Sheetsへの転送や、定期的なファイル保存を検討してください。
必要な保存期間や提出方法は、自治体、保健所、取引先との契約、店舗の衛生管理計画によって異なります。自店に適用される条件を確認してから保存期間を決めましょう。
よくあるトラブルと対処法
| トラブル | 主な原因 | 対処法 |
|---|---|---|
| Webhookがデータを受信しない | URLや送信設定の誤り | URL、送信形式、通信状態を確認 |
| Slackに届かない | チャンネルや権限の設定 | チャンネル名とアプリ権限を確認 |
| LINE通知が届かない | トークンや連携設定の誤り | 認証情報と送信上限を確認 |
| データが重複する | 再送やZapの多重実行 | 一意の識別子を付けて重複を確認 |
| フィルターが動かない | 条件やデータ型の誤り | 数値として受信できているか確認 |
最後に、店舗で無理なく始める手順をまとめます。
まとめ: まずは1店舗・1設備で試す
温度・湿度管理の自動化は、記録作業の負担を減らし、異常への対応を早める手段です。中小規模の店舗でも、センサー1台と無料または低額のサービスから検証できます。
導入で得られる主な効果は次のとおりです。
- 記録の負担軽減: 手書き作業を減らせる
- 異常の早期発見: 設定値を超えた場合に通知できる
- 情報の共有: 店長や本部が同じ記録を確認できる
- 集計の効率化: 店舗別・設備別に傾向を見られる
一方、自動化は衛生管理の代わりではありません。センサーの誤差、通信断、電池切れも考慮し、定期点検と手動確認を残してください。
小売・飲食店での導入手順
- 対象設備を1台に絞る: 重要度の高い冷蔵庫などを選ぶ
- 通常値を確認する: 1〜2週間、実際の変動を記録する
- 通知条件を決める: 商品条件と衛生管理計画に合わせる
- Slack通知を試す: 記録が届くかを確認する
- 異常通知を追加する: 担当者と対応手順を決める
- 運用を見直す: 通知の頻度と記録内容を調整する
まずは、店長が毎日の開店前に記録を確認する運用から始めると、現場へ定着させやすくなります。
参考リンク
公式情報は更新される場合があります。料金、提供状況、法令・自治体の案内を確認しながら、自店に合う範囲で試してください。
Mira / AI経営ラボ 編集長