{ "ruleChain": { "additionalInfo": null, "name": "Create/Clear Alarm & Send Email", "firstRuleNodeId": null, "root": false, "debugMode": false, "configuration": null }, "metadata": { "firstNodeIndex": 0, "nodes": [ { "additionalInfo": { "layoutX": 344, "layoutY": 151 }, "type": "org.thingsboard.rule.engine.filter.TbJsFilterNode", "name": "Under Threshold", "debugMode": false, "configuration": { "jsScript": "return msg.temperature < -40 || msg.temperature > 80;" } }, { "additionalInfo": { "layoutX": 904, "layoutY": 63 }, "type": "org.thingsboard.rule.engine.action.TbCreateAlarmNode", "name": "Create Alarm", "debugMode": false, "configuration": { "alarmType": "Critical Temperature", "alarmDetailsBuildJs": "var details = {};\ndetails.temperature = msg.temperature;\nif (metadata.prevAlarmDetails) {\n var prevDetails = JSON.parse(metadata.prevAlarmDetails);\n}\nif(msg.temperature >80){\n details.message = \"Nhiệt độ quá cao\";\n}\nelse{\n details.message = \"Nhiệt độ quá thấp\";\n}\nreturn details;", "severity": "CRITICAL", "propagate": true } }, { "additionalInfo": { "layoutX": 617, "layoutY": 222 }, "type": "org.thingsboard.rule.engine.action.TbClearAlarmNode", "name": "Clear Alarm", "debugMode": false, "configuration": { "alarmType": "Critical Temperature", "alarmDetailsBuildJs": "var details = {};\ndetails.temperature = msg.temperature;\nif (metadata.prevAlarmDetails) {\n details = JSON.parse(metadata.prevAlarmDetails);\n}\ndetails.message = \"Nhiệt độ đã bình thường\";\n\nreturn details;" } }, { "additionalInfo": { "layoutX": 596, "layoutY": 63 }, "type": "org.thingsboard.rule.engine.transform.TbTransformMsgNode", "name": "Add temperature to metadata", "debugMode": false, "configuration": { "jsScript": "metadata.temperature = msg.temperature;\nreturn {msg: msg, metadata: metadata, msgType: msgType};" } }, { "additionalInfo": { "layoutX": 1213, "layoutY": 64 }, "type": "org.thingsboard.rule.engine.mail.TbMsgToEmailNode", "name": "Temperature Email", "debugMode": false, "configuration": { "fromTemplate": "info@testmail.org", "toTemplate": "phamkhanh12354@gmail.com", "ccTemplate": null, "bccTemplate": null, "subjectTemplate": "Device ${deviceType} temperature unacceptable", "bodyTemplate": "Device ${deviceName} has unacceptable temperature: ${temperature}" } }, { "additionalInfo": { "layoutX": 1518, "layoutY": 67 }, "type": "org.thingsboard.rule.engine.mail.TbSendEmailNode", "name": "SendGrid SMTP", "debugMode": false, "configuration": { "useSystemSmtpSettings": true, "smtpHost": "smtp.sendgrid.net", "smtpPort": 25, "username": "apikey", "password": "YOUR_API_PASSWORD", "smtpProtocol": "smtp", "timeout": 10000, "enableTls": false } } ], "connections": [ { "fromIndex": 0, "toIndex": 2, "type": "False" }, { "fromIndex": 0, "toIndex": 3, "type": "True" }, { "fromIndex": 1, "toIndex": 4, "type": "Created" }, { "fromIndex": 3, "toIndex": 1, "type": "Success" }, { "fromIndex": 4, "toIndex": 5, "type": "Success" } ], "ruleChainConnections": null } }