ABLICのPH-Bシリーズで積層表示灯をopenblockからのメールで制御してみた  

今回はABLICのPH-Bシリーズで積層表示灯を有線通信や、社内ネットワークではなく、メールサーバー(gmailやicloud)からの制御をしていきたいと思います。
これにより、積層表示灯やopenblocksの範囲を縛られることなく設置できます。

今回使うノード

今回は積層表示灯ということで、ablicさんのPH-Bのシリーズに変更をかけていきます。

今回追加するノードは以下の3つになります。

ノードの移動と無効化

現在あるデータを整理していきます。必ず図も合わせて確認してください。
まずパトライトIPアドレス設定とパトライト警報&接点ON/OFF設定を選択。

右クリックでノード内、選択したノードを無効化にします。すると枠が点線になり薄くなります。

そうしましたら、他のノードとつながっている線を削除し、切り離して下に移動させます。

次に、音声繰り返し回数設定とセンサー識別を繋げている線を削除します。(ノードは消さないでください)

そうしましたらセンサー番号取得とセンサー識別を線で繋ぎます。

次に、下図の方を変更していきます(右側の方)

音声&光switch、接点switch、パトライト光&音声、パトライト接点出力1の4つを無効化して切り離し下に移動させます。

この削除部分に、音声繰り返し回数設定を移動させ、左側にLED(赤黄緑)点灯設定1と接続、右側にdebugノードを接続します。

こちらで整理は完了になります。

ノードの追加

今回必要なノードを追加していきたいと思います。
左のノード一覧からchangeノードをドラック&ドロップします。

こちらの下図のように変更してください。

この音声切り替えを音声繰り返し回数設定と繋げます。

次に上にあるメール本文、メール件名、メール送信の3つをコピーします。

そうしましたら、名前を以下のように変更してください。

メールコマンド、メールサーバーは複雑なため、まずはメール件名から見ていきます。

こちらはその名の通り、メールの件名設定になります。
代入する値の右横の文字を変えることで、件名を変更することができます。
次にメール設定をしていきます。

メール送信設定(openblocks)

まずはopenblocksから見ていきます。

こちらのメールサーバーと書かれたノードを開き設定していきます。

宛先はお使いのメールサーバーを指定してください。
サーバー、ポートはgmailであれば上図の設定でお使いできます。
なお、サーバー、ポートはお使いのメール(gmail、icloudなど)にサーバーポートと検索すれば出てきますので、検索してください。
最後にユーザーIDとパスワードです。
ユーザーIDは送信元のメールアドレスを設定してください。
パスワードはアプリパスワードというものが必要になります。gmailの場合は以下の手順になります。

https://myaccount.google.com/apppasswords

こちらをクリックしログインします。

上記にアプリ名を入れて作成をクリック
パスワードが表示されますのでそちらを控えてください。

パスワードは閉じると2度と確認できないため必ずメモに取ってください

こちらで発行したパスワードを、先ほどのノード内に設定することでメールを送信できるようになります。
一度injectノードを入れ、メールノードと繋ぎデプロイします。

デプロイ横の四角を押し、メールが送られているかを送信先メールアドレスから確認してください。

確認できましたら、次に積層表示灯の設定に移ります。

メールの受信設定(積層表示灯)

積層表示灯の設定画面を開きます。

左の一覧の監視設定を開き、メールサーバー設定をクリックします。

ここで、openblocksのノードと同じ設定をしていきます。
サーバーとポートの設定をし、ユーザー名はメールを受け取る側を設定します。
パスワードは先ほどと同じようにアプリパスワードで生成してください。(下記URLはgmailのもの)

https://myaccount.google.com/apppasswords

こちらの設定ができましたら、右上にある設定をクリックして設定を保存してください。
次にメールサーバー設定の下にあるフィルタルール設定を開きます。

フィルタの設定は、差出人で判断するのがいいと思いますが、それ以外に件名、本文など設定は色々変えられますので、お好みで変更してください。

条件1-条件合致時動作に関しましては、設定を固定することもできますが、

今回はメール内容で制御するためメール内容で制御を選択してください。

これでメール受信設定が完了になります。

コマンドの設定

メールの送受信設定ができたので、最後にコマンドが送ることができれば動作させることができます。
まずは下記URLの73ページを開いてください。

https://www.patlite.co.jp/catalogimg/JP_KF_0000000759_VkWTWux2.pdf

制御コマンドがこちらに記載されています。

簡単に説明しますと、
まずはコマンド部分を下記で囲います。
<command></command>
次に操作させたいパラメーターを入力します。今回はランプの赤を光らせたいとしたとき
<command>led=10000</command>
となります。説明書ではled=<r><y><g><b><c>となっていますので、
led=10000は
led=赤、黄色、緑、青、白  となっており、数字は1が点灯、0が消灯のため
led=点灯、消灯、消灯、消灯、消灯  となっています。

こちらの通りにNodeREDのコマンドノードに入力していきます。NodeREDのメールコマンドを開き下記のコマンドを入力します。(コマンド一覧参照)

<command>led={{payload.sensor_red}}{{payload.sensor_yellow}}{{payload.sensor_green}}00&speech= {{payload.sensor_location}}で漏水を検知しました。確認してください&repeat={{payload.patlite_repeat}}&voice={{payload.patlite_voice}}</command>

先ほどのコードとはまた違うコードなのですが
{{なになに}}
というものがいくつかあります。
これは{{}}で囲まれているものの代入を表しており、コードコマンドの前にある
・LED(赤黄緑)点灯設定1
・音声繰り返し回数設定
・音声切り替え
の代入する値を変えることで変更できるようになっています。(要は変更の際見やすくしました)

最後に正常に動くかテストするために、injectノードを追加し設置場所に接続したらデプロイします。

追加したinjectノードの左の四角をクリックし、積層表示灯が動作すれば完了になります。