今回は、ABLICの漏水検知メールをNode-REDからSORACOMに変更することで、LANケーブルやWi-Fiの距離を気にせず設置できる、また設定の変更が楽にしてみました。(設定は少し大変です)
今回のデータ
今回はABLICのPH-Aシリーズを使って、SORACOMからメールを送信していきたいと思います。

そして、今回重要なのはSIMを使うため「OpenBlocksの種類に指定がある」ということです。
今回この設定ができるものは、
- EX1
- VX2
- FX1
- DX1
- IX9
の拡張機能を搭載したものになります。
確認としまして、カバーを開けた際にSIMの挿入口がありますので確認してみてください。

OpenBlocksの設定
OpenBlocksのSIM設定をしていきます。
まずは、カバーを開いてもらい上記画像の位置にSIMを挿入してください。
OpenBlocksの設定を開き、ネットワーク設定を開きます。
基本設定の一番下に、サービスネットワークがあります。


こちらを使用するにし、SORACOM SIMなので、APNを「soracom.io」、ユーザー名とパスワードを「sora」に設定します。
OpenBlocksの設定はこれで完了になります。Node-REDの設定もあるのですが、そちらはSORACOM設定の後に作業します。
SORACOMの設定(SIM設定)
まずは、下記URLからSORACOMにログインします。
https://auth.soracom.io/login/?redirect=https%3A%2F%2Fconsole.soracom.io%2Fdashboard

ログインしたら、左上のメニューバーからSIM管理を開き、使用するSIMチェックを入れ操作から所属グループを変更します。
初めてSIMを登録する場合は下記URLを参考にしてください。
https://users.soracom.io/ja-jp/guides/getting-started/register-sim/



新しい所属グループから、新しいグループを作成を選択し名前を設定します。

SORACOMの設定(メール設定)
次にメールの設定をしていきます。
メニューバーからSORACOM FluxのFluxアプリを開き、新しいFluxアプリを作成します。



そのままチャンネル作成をします。

追加するものは、「IoTデバイス」を追加します。

名前は好きな名前にしてもらい、グループは先ほど作成したグループを選択します。

するとイベントソースが作成されます。
この画面でアクションタブを選択し、アクションを追加します。


名前は、エラー通知と解除通知の2つを作ろうと思いますので、わかりやすいものにしてください。
アクションの実行条件がとても大切で、ここがメールが送られるトリガーになります。今回はNode-REDを使ってEmail送信を行うため、アクション条件はpayloadを使用して
「payload.test==1」
にします。

送信先は、登録されているメールアドレスを選択できます。登録を増やしたい場合は、のちに説明しますので、そのまま進んでください。

その後、件名と本文を作成します。
ここはお好きに決めてください。センサー番号に関しては、${pyaload.data_Dec}にします。
この宣言は、Node-REDのセンサー識別と同じにしてください。


最後に更新を押して完了です。あとは、同じようにエラー解除のメールも作成します。
IOTデバイスをクリックし、アクションからアクションを作成をします。


先ほど同様にEmail通知を選択します。

別のアクションになりますので、数値をずらし「payload.test==0」で作成します。

メールの内容を変えて保存すれば完了です。

API設定
このままでも通信が取れ、メールを送ることができるのですが、24時間ごとにAPIキーを新たに取得したりなど手間がかかります。
そのため、今回はSIMグループにあるUnified Endpoint設定を有効にします。

これをすることで、このUnified Endpointが自動でAPIキーなどを取得してくれます。
Node-REDの設定
Node-REDの設定は半分くらいのデータを消しますので、まずはバックアップからとります。
右上の+からフローを1つ増やし、コピーしたいデータをshift+クリックで全選択し、新しいフローにコピー&ペーストします。


そうしたら、下図のように3つ以外の下すべてを消します。


センサー番号取得を開き、メール通知のアクションを追加します。今回は「payload.test==1」にしたので、「”test” : 1」を追加します。


次に、triggerノードをセンサー番号の後ろに接続します。

追加したtriggerノードを開き、下図のように変更します。

triggerノードの後ろにhttp requestノードを追加します。


http requestノードの中は、メソッドがPOST、URLはSORACOMのUnified EndpointにあるURLになります。


これで設定は完了です。
エラー解除メール設定は、値の代入で「mdg.payload.test 代入する値0」にします。
これは、エラー解除された時の通知で、一定期間センサーからエラーを受信しないとしたのノードに流れ、test=0となりエラー解除メールが流れる仕組みになります。
ここで覚えておいてほしいのは、あまりにも長く漏水を放置すると、センサー自体の電力がなくなり漏水が続いているのに解除メールが送信される恐れがあるということです。
そのため、こちらはお好みで設定してください。

triggerの設定は、左1つ目が下記の図になります。

2つ目が下記の図になります。

間に入るchangeノードは下記の図になります。

最後に2つ目のtriggerノードの後ろにchangeノードを追加し、エラー解除メールの設定をします。


これで完成になります。
最後にデプロイをして自裁に動かしてみてください。