このalert設定は、LoopEdgeからLoopCloudへ渡ってきたデータを判定してEmailへalert通知させるサンプルです。
設定は、LoopCloudとLoopEdge両方に行う必要があります。
※設定が完了するとEmailによる通知がされますので、試した後は、必ず動作の停止をしてください。
- LoopCloud側への設定
LoopEdgeとの接続口になるModelを作成します。
アラート通知(Email)の設定を行います。
- LoopEdge側への設定
LoopCloudとの接続設定やFlowへの設定を行います。
LoopCloud側への設定
1.LoopEdgeとの接続口になるModelを作成します。
ナビゲーションパネルのConfiguration-ModelsからModelを新規作成します。
「MQTT plain TCP connection Parameters」を選択して、SAVEボタンを押下します。
ナビゲーションパネルのDevuce Mgmt-Devicesを開き、右上部Singleを押下します。
先ほど作成したModelを選択します。
Model内は自動的に値が設定されたConfigが表示されます。
そのままCONTINUEボタンを押下します。
このModelの設定が記述されているJSONファイルが自動的にダウンロードされます。
このJSONはLoopEdge側への設定で使用します。
1-2.alert通知設定を行います。
ナビゲーションパネルのAlertsを選択します。
Action Listの右上部の+ボタンを押下します。
Add action画面にて、以下の値を設定してSAVEボタンを押下します。
・Action Template にEmailを設定
・Action Nameに「test action」を設定(任意の名称)
・Enter email 通知先のメールアドレス
Trigger Listの右上部の+ボタンを押下します。
Edit trigger画面のTRIGGERタブに以下の値を設定します。
ROULESタブを選択して、以下の値を設定し、SAVEボタンを押下します。
・Nameに「test Trigger」を設定(任意の名称)
・Activeチェックボックスをオンに指定
・Action Listに「test action」を設定
・Device Tag Listに「alert_tag1」を設定
・Subjectに「alert mail」(任意の件名)を設定
・Messageに「Warning! Check the alert.」(任意のメッセージ)を設定
2.LoopEdge側への設定
2-1.LoopCloudとの接続設定を作成します。
DataHubを開き、画面上部のCloudConnectorsにて+ボタンを押下します。
Add Connector画面にてUpload JSONボタンを押下し、1-5のJSONファイルを読み込みます。
Name欄に任意の名前を設定し、Createボタンを押下します。
2-2.Flowのノードへ設定するTopicsを作成します。
DetaHubを開き、画面下部のTopicsにて+ボタンを押下します。
CloudConnectorsに作成した2-1で作成した接続先を設定し、Createボタンを押下します。
2-3.LoopFlowsへの設定
各ノードの説明
(1)Start(inject node)
一定間隔で当該フローを実行するためのノードです。
手動で実行したい場合や一定間隔で当該フローを実行したい場合に使用するノードですので、PLC機器からのデータが接続されるような場合は不要です。
15秒間隔で実行するように設定しています。
(2)Create : Dummy data(function node)
Demo動作用の温度のダミーデータを作成するためのノードです。
PLC機器からのデータが接続されるような場合は不要です。
温度のダミーデータを作成するコードを記述しています。
(3)Change : format1(function node)
Create : Dummy dataノードにて作成した温度のダミーデータをLoopCloud側が認識できる書式へ変換するためのノードです。
(4)Change : Format2(json node)
Create : Dummy dataノードにて作成した温度のダミーデータをLoopCloud側が認識できる書式へ変換するためのノードです。
(5)Connect : to LoopCloud(Datahub Publish node)
作成したデータを指定したTopicへ保存します。
ノードの設定には、2-2で指定した名前を設定します。仮で「to_LoopCloud」と設定しています。
(6)Dump : data(debug node)
受け取ったデータをdebug tabに出力します。
フロー設定
[{"id":"89b5debf.49fbf","type":"tab","label":"to LoopCloud_data"},{"id":"dfe622c7.b37e2","type":"inject","z":"89b5debf.49fbf","name":"Start","topic":"","payload":"","payloadType":"date","repeat":"15","crontab":"","once":false,"x":120,"y":120,"wires":[["10c962b8.5eba9d"]]},{"id":"4ebfb414.e0d09c","type":"debug","z":"89b5debf.49fbf","name":"Dump:data","active":true,"console":"false","complete":"payload","x":640,"y":280,"wires":[]},{"id":"10c962b8.5eba9d","type":"function","z":"89b5debf.49fbf","name":"Create:dummy data","func":"// temperature\ntemp_max = 28;\ntemp_min = 26;\ntemp = Math.random() * (temp_max - temp_min) + temp_min;\nmsg.payload = Math.floor(temp * 100) / 100;\n\n\nreturn [msg];","outputs":1,"noerr":0,"x":225,"y":120,"wires":[["9006a8a1.3bf3f8"]]},{"id":"9006a8a1.3bf3f8","type":"function","z":"89b5debf.49fbf","name":"Change:format1","func":"msg.payload= {\n \"timestamp\": 0,\n \"values\": [{\n\n \"objectId\":3300,\n \"instanceId\":\"0\",\n \"resourceId\":5700,\n \"datatype\":\"Float\",\n \"value\":msg.payload\n }]\n};\n return msg;","outputs":1,"noerr":0,"x":365,"y":120,"wires":[["24bab41f.f864ac"]]},{"id":"427a608d.6d52d","type":"Datahub Publish","z":"89b5debf.49fbf","name":"Connect:to LoopCloud","natc":"e300cf69.f432","topicname":"to_LoopCloud","x":640,"y":120,"wires":[]},{"id":"24bab41f.f864ac","type":"json","z":"89b5debf.49fbf","name":"Change:format2","x":505,"y":120,"wires":[["427a608d.6d52d","4ebfb414.e0d09c"]]},{"id":"e300cf69.f432","type":"Datahub Connect","z":"","ipadd":"127.0.0.1","port":"4222"}]