Advertisement
mfalkvidd

ThingsboardRule

Jul 31st, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 5.69 KB | None | 0 0
  1. {
  2.   "ruleChain": {
  3.     "additionalInfo": null,
  4.     "name": "Root Rule Chain",
  5.     "firstRuleNodeId": null,
  6.     "root": false,
  7.     "debugMode": true,
  8.     "configuration": null
  9.   },
  10.   "metadata": {
  11.     "firstNodeIndex": 10,
  12.     "nodes": [
  13.       {
  14.         "additionalInfo": {
  15.           "layoutX": 824,
  16.           "layoutY": 156
  17.         },
  18.         "type": "org.thingsboard.rule.engine.telemetry.TbMsgTimeseriesNode",
  19.         "name": "SaveTS",
  20.         "debugMode": false,
  21.         "configuration": {
  22.           "defaultTTL": 0
  23.         }
  24.       },
  25.       {
  26.         "additionalInfo": {
  27.           "layoutX": 825,
  28.           "layoutY": 52
  29.         },
  30.         "type": "org.thingsboard.rule.engine.telemetry.TbMsgAttributesNode",
  31.         "name": "save client attributes",
  32.         "debugMode": false,
  33.         "configuration": {
  34.           "scope": "CLIENT_SCOPE"
  35.         }
  36.       },
  37.       {
  38.         "additionalInfo": {
  39.           "layoutX": 347,
  40.           "layoutY": 149
  41.         },
  42.         "type": "org.thingsboard.rule.engine.filter.TbMsgTypeSwitchNode",
  43.         "name": "Message Type Switch",
  44.         "debugMode": true,
  45.         "configuration": {
  46.           "version": 0
  47.         }
  48.       },
  49.       {
  50.         "additionalInfo": {
  51.           "layoutX": 825,
  52.           "layoutY": 266
  53.         },
  54.         "type": "org.thingsboard.rule.engine.action.TbLogNode",
  55.         "name": "Log RPC",
  56.         "debugMode": false,
  57.         "configuration": {
  58.           "jsScript": "return '\\nIncoming message:\\n' + JSON.stringify(msg) + '\\nIncoming metadata:\\n' + JSON.stringify(metadata);"
  59.         }
  60.       },
  61.       {
  62.         "additionalInfo": {
  63.           "layoutX": 857,
  64.           "layoutY": 326
  65.         },
  66.         "type": "org.thingsboard.rule.engine.action.TbLogNode",
  67.         "name": "Log Other",
  68.         "debugMode": false,
  69.         "configuration": {
  70.           "jsScript": "return '\\nIncoming message:\\n' + JSON.stringify(msg) + '\\nIncoming metadata:\\n' + JSON.stringify(metadata);"
  71.         }
  72.       },
  73.       {
  74.         "additionalInfo": {
  75.           "layoutX": 37,
  76.           "layoutY": 530
  77.         },
  78.         "type": "org.thingsboard.rule.engine.filter.TbMsgTypeSwitchNode",
  79.         "name": "Message Type Switch",
  80.         "debugMode": true,
  81.         "configuration": {
  82.           "version": 0
  83.         }
  84.       },
  85.       {
  86.         "additionalInfo": {
  87.           "description": "Returns true if temperature is negative",
  88.           "layoutX": 348,
  89.           "layoutY": 532
  90.         },
  91.         "type": "org.thingsboard.rule.engine.filter.TbJsFilterNode",
  92.         "name": "isTempNegative",
  93.         "debugMode": true,
  94.         "configuration": {
  95.           "jsScript": "return msg.Temp >= 61695; // 0xF000 and above are negative"
  96.         }
  97.       },
  98.       {
  99.         "additionalInfo": {
  100.           "layoutX": 545,
  101.           "layoutY": 454
  102.         },
  103.         "type": "org.thingsboard.rule.engine.transform.TbTransformMsgNode",
  104.         "name": "ConvertNegativeTemp",
  105.         "debugMode": true,
  106.         "configuration": {
  107.           "jsScript": "msg.TempRaw = msg.Temp;\nmsg.Temp = msg.Temp - 65535;\nreturn {msg: msg, metadata: metadata, msgType: msgType};"
  108.         }
  109.       },
  110.       {
  111.         "additionalInfo": {
  112.           "layoutX": 767,
  113.           "layoutY": 531
  114.         },
  115.         "type": "org.thingsboard.rule.engine.transform.TbTransformMsgNode",
  116.         "name": "divideByTen",
  117.         "debugMode": true,
  118.         "configuration": {
  119.           "jsScript": "msg.Temp = msg.Temp / 10.0;\nreturn {msg: msg, metadata: metadata, msgType: msgType};"
  120.         }
  121.       },
  122.       {
  123.         "additionalInfo": {
  124.           "layoutX": 1035,
  125.           "layoutY": 530
  126.         },
  127.         "type": "org.thingsboard.rule.engine.telemetry.TbMsgTimeseriesNode",
  128.         "name": "SaveTS",
  129.         "debugMode": true,
  130.         "configuration": {
  131.           "defaultTTL": 0
  132.         }
  133.       },
  134.       {
  135.         "additionalInfo": {
  136.           "layoutX": 129,
  137.           "layoutY": 245
  138.         },
  139.         "type": "org.thingsboard.rule.engine.filter.TbJsFilterNode",
  140.         "name": "isPSTUniTemp",
  141.         "debugMode": true,
  142.         "configuration": {
  143.           "jsScript": "return metadata.deviceType == 'PSTUniTemp';"
  144.         }
  145.       },
  146.       {
  147.         "additionalInfo": {
  148.           "layoutX": 641,
  149.           "layoutY": 363
  150.         },
  151.         "type": "org.thingsboard.rule.engine.action.TbLogNode",
  152.         "name": "Log",
  153.         "debugMode": true,
  154.         "configuration": {
  155.           "jsScript": "return 'Incoming message:\\n' + JSON.stringify(msg) + '\\nIncoming metadata:\\n' + JSON.stringify(metadata);"
  156.         }
  157.       }
  158.     ],
  159.     "connections": [
  160.       {
  161.         "fromIndex": 2,
  162.         "toIndex": 4,
  163.         "type": "Other"
  164.       },
  165.       {
  166.         "fromIndex": 2,
  167.         "toIndex": 1,
  168.         "type": "Post attributes"
  169.       },
  170.       {
  171.         "fromIndex": 2,
  172.         "toIndex": 0,
  173.         "type": "Post telemetry"
  174.       },
  175.       {
  176.         "fromIndex": 2,
  177.         "toIndex": 3,
  178.         "type": "RPC Request"
  179.       },
  180.       {
  181.         "fromIndex": 5,
  182.         "toIndex": 6,
  183.         "type": "Post telemetry"
  184.       },
  185.       {
  186.         "fromIndex": 6,
  187.         "toIndex": 8,
  188.         "type": "False"
  189.       },
  190.       {
  191.         "fromIndex": 6,
  192.         "toIndex": 7,
  193.         "type": "True"
  194.       },
  195.       {
  196.         "fromIndex": 7,
  197.         "toIndex": 8,
  198.         "type": "Success"
  199.       },
  200.       {
  201.         "fromIndex": 8,
  202.         "toIndex": 9,
  203.         "type": "Success"
  204.       },
  205.       {
  206.         "fromIndex": 10,
  207.         "toIndex": 2,
  208.         "type": "False"
  209.       },
  210.       {
  211.         "fromIndex": 10,
  212.         "toIndex": 5,
  213.         "type": "True"
  214.       }
  215.     ],
  216.     "ruleChainConnections": null
  217.   }
  218. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement