false true false srv 127.0.0.1 = rest_port 9081 = mqtt_srv 127.0.0.1 = continue false 1 1 1 false true false saveConfig true true true true true true true false true true false false false true false false false true 0 true true true true true false false ${mqtt_srv} 1883 3.1 10 false 10 TCP false conn_ true 300 0 0 true true false {"sql":"CREATE STREAM alertStream() WITH (DATASOURCE=\"scene/alert\", FORMAT=\"json\", TYPE=\"mqtt\")"} = ${srv} ${rest_port} /streams POST true false true false Create stream for alert setting actions Stream alertStream is created. Assertion.response_data true 16 true false { "id": "ruleUpdateAlert", "sql":"SELECT * FROM alertStream", "actions":[ { "memory": { "keyField": "memKey", "rowkindField": "action", "topic": "alertVal", "sendSingle": true } } ] } = ${srv} ${rest_port} /rules POST true false true false Rule ruleUpdateAlert was created Assertion.response_data true 16 true false {"sql":"CREATE STREAM demoStream() WITH (DATASOURCE=\"scene/data\", FORMAT=\"json\", TYPE=\"mqtt\")"} = ${srv} ${rest_port} /streams POST true false true false Create stream for alert setting actions Stream demoStream is created. Assertion.response_data true 16 true false {"sql":"CREATE TABLE alertTable() WITH (DATASOURCE=\"alertVal\", TYPE=\"memory\", KIND=\"lookup\", KEY=\"memKey\")"} = ${srv} ${rest_port} /tables POST true false true false Table alertTable is created. Assertion.response_data true 16 true false { "id": "ruleAlert", "graph": { "nodes": { "demo": { "type": "source", "nodeType": "mqtt", "props": { "sourceType": "stream", "sourceName": "demoStream" } }, "alertTable": { "type": "source", "nodeType": "memory", "props": { "sourceType": "table", "sourceName": "alertTable" } }, "joinop": { "type": "operator", "nodeType": "join", "props": { "from": "demoStream", "joins": [ { "name": "alertTable", "type": "inner", "on": "demoStream.deviceKind = alertTable.memKey" } ] } }, "filterOp": { "type": "operator", "nodeType": "filter", "props": { "expr": "demoStream.value > alertTable.alarm" } }, "pickOp" : { "type": "operator", "nodeType": "pick", "props": { "fields": ["device", "value"] } }, "mqttpv": { "type": "sink", "nodeType": "mqtt", "props": { "server": "tcp://${mqtt_srv}:1883", "topic": "rule/alert", "sendSingle": true } } }, "topo": { "sources": ["demo", "alertTable"], "edges": { "demo": ["joinop"], "alertTable": ["joinop"], "joinop": ["filterOp"], "filterOp": ["pickOp"], "pickOp": ["mqttpv"] } } } } = ${srv} ${rest_port} /rules POST true false true false Rule ruleAlert was created Assertion.response_data true 16 ${srv} ${rest_port} /rules/ruleAlert/status GET true false true false $.source_demoStream_0_records_in_total 0 true false false false true 4 , alert_init_data.txt false false true shareMode.thread false action,memKey,alarm scene/alert 0 false String 1024 {"memKey": ${memKey}, "action": ${action}, "alarm" : ${alarm}} false ${srv} ${rest_port} /rules/ruleUpdateAlert/status GET true false true false $.source_alertStream_0_records_in_total 4 true false false false $.sink_memory_0_0_records_out_total 4 true false false false 5000 true 4 , collect_data.txt false false true shareMode.thread false device,deviceKind,value scene/data 0 false String 1024 {"deviceKind": ${deviceKind}, "device": ${device}, "value" : ${value}} false ${srv} ${rest_port} /rules/ruleAlert/status GET true false true false $.source_demoStream_0_records_in_total 4 true false false false $.sink_mqtt_0_0_records_out_total 2 true false false false true 4 , alert_update_data.txt false false true shareMode.thread false action,memKey,alarm scene/alert 0 false String 1024 {"memKey": ${memKey}, "action": ${action}, "alarm" : ${alarm}} false ${srv} ${rest_port} /rules/ruleUpdateAlert/status GET true false true false $.source_alertStream_0_records_in_total 8 true false false false $.sink_memory_0_0_records_out_total 8 true false false false 5000 true 4 , collect_data.txt false false true shareMode.thread false device,deviceKind,value scene/data 0 false String 1024 {"deviceKind": ${deviceKind}, "device": ${device}, "value" : ${value}} false ${srv} ${rest_port} /rules/ruleAlert/status GET true false true false $.source_demoStream_0_records_in_total 8 true false false false $.sink_mqtt_0_0_records_out_total 3 true false false false ${srv} ${rest_port} /rules/ruleAlert DELETE true false true false Rule ruleAlert is dropped. Assertion.response_data false 16 ${srv} ${rest_port} /streams/demoStream DELETE true false true false Stream demoStream is dropped. Assertion.response_data false 16 ${srv} ${rest_port} /tables/alertTable DELETE true false true false Table alertTable is dropped. Assertion.response_data false 16 ${srv} ${rest_port} /rules/ruleUpdateAlert DELETE true false true false Rule ruleUpdateAlert is dropped. Assertion.response_data false 16 ${srv} ${rest_port} /streams/alertStream DELETE true false true false Stream alertStream is dropped. Assertion.response_data false 16 500 continue false 3 1 1 false true false saveConfig true true true true true true true false true true false false false true false false false true 0 true true true true true ${mqtt_srv} 1883 3.1 10 false 10 TCP false conn_ true 300 0 0 true rule/alert 0 false true number of received messages 1 $.value ${value} true false false false $.device ${device} true false false false , lookup_table_result_data.txt false false true shareMode.thread false device,value