mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2025-12-07 09:36:05 -08:00
748 lines
18 KiB
JSON
Executable File
748 lines
18 KiB
JSON
Executable File
{
|
|
"code_name": "events_notifications",
|
|
"plugin_type": "flow",
|
|
"template_type": "database-entry",
|
|
"unique_prefix": "EVNTNTF",
|
|
"enabled": true,
|
|
"data_source": "template",
|
|
"show_ui": false,
|
|
"localized": ["display_name", "description", "icon"],
|
|
"display_name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Known Devices"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The template used for known devices."
|
|
}
|
|
],
|
|
"icon": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "<i class=\"fa fa-check\"></i>"
|
|
}
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "target_macs",
|
|
"type": "setting",
|
|
"value": "KNWN_target_macs"
|
|
},
|
|
{
|
|
"name": "dev_AlertDeviceDown",
|
|
"type": "setting",
|
|
"value": "KNWN_dev_AlertDeviceDown"
|
|
},
|
|
{
|
|
"name": "dev_AlertEvents",
|
|
"type": "setting",
|
|
"value": "KNWN_dev_AlertEvents"
|
|
},
|
|
{
|
|
"name": "trigger_ids",
|
|
"type": "array",
|
|
"value": "trigger.Object_PrimaryID"
|
|
},
|
|
{
|
|
"name": "trigger_objects",
|
|
"type": "array",
|
|
"value": "trigger"
|
|
}
|
|
],
|
|
"settings": [
|
|
{
|
|
"function": "FLOW",
|
|
"type": "json",
|
|
"default_value": [
|
|
{
|
|
"name": "send_notification",
|
|
"trigger": [
|
|
{
|
|
"object_event": "new",
|
|
"object_filter": "",
|
|
"object": "Events_Notifications"
|
|
}
|
|
],
|
|
"steps": [
|
|
{
|
|
"step_type": "wait",
|
|
"params": [
|
|
{
|
|
"days": 0,
|
|
"hours": 0,
|
|
"minutes": 0,
|
|
"seconds": 30
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"step_type": "condition",
|
|
"params": [
|
|
{
|
|
"left": {
|
|
"value": "triggers[0].object['dev_DeviceID']",
|
|
"use_quotes": true,
|
|
"js_template": "'{value}'.toString()"
|
|
},
|
|
"operator": {
|
|
"value": "==",
|
|
"data_type": "string"
|
|
},
|
|
"right": {
|
|
"value": "device_id_param",
|
|
"use_quotes": false,
|
|
"js_template": "'{value}'.toString()"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"step_type": "condition",
|
|
"params": [
|
|
{
|
|
"left": {
|
|
"value": "check_event_repetition(device_id_param, event_type_param, repetition_count_param)",
|
|
"use_quotes": false,
|
|
"js_template": "{value}"
|
|
},
|
|
"operator": {
|
|
"value": "==",
|
|
"data_type": "boolean"
|
|
},
|
|
"right": {
|
|
"value": true,
|
|
"use_quotes": false,
|
|
"js_template": "{value}"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"step_type": "action",
|
|
"params": [
|
|
{
|
|
"type": "run_plugin",
|
|
"params": {
|
|
"unique_prefix": "webhook"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"step_type": "action",
|
|
"params": [
|
|
{
|
|
"type": "run_plugin",
|
|
"params": {
|
|
"unique_prefix": "mqtt"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"options": [
|
|
{
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Device ID Parameter"
|
|
}
|
|
],
|
|
"type": "string",
|
|
"default_value": "1",
|
|
"localized": ["name"]
|
|
},
|
|
{
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Event Type Parameter"
|
|
}
|
|
],
|
|
"type": "string",
|
|
"default_value": "device_down",
|
|
"localized": ["name"]
|
|
},
|
|
{
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Repetition Count Parameter"
|
|
}
|
|
],
|
|
"type": "integer",
|
|
"default_value": 3,
|
|
"localized": ["name"]
|
|
}
|
|
],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Plugin flow"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "This flow sends a notification after 30s every time a new event is logged."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "target_macs",
|
|
"type": "list.readonly",
|
|
"maxLength": 50,
|
|
"default_value": [],
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Target devices"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The MAC address of the devices to update. Uneditable. This parameter is dynamically updated via a Flow."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "CMD",
|
|
"type": "text",
|
|
"default_value": "UPDATE Devices SET dev_AlertDeviceDown = {KNWN_dev_AlertDeviceDown}, dev_AlertEvents = {KNWN_dev_AlertEvents} WHERE dev_MAC in ({target_macs})",
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "UPDATE SQL"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "This SQL query is used to update target devices."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_Name",
|
|
"type": "readonly",
|
|
"maxLength": 50,
|
|
"default_value": "(unknown)",
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Device Name"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The name of the device. Uneditable as internal functionality is dependent on specific new device names."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_Owner",
|
|
"type": "string",
|
|
"maxLength": 30,
|
|
"default_value": "House",
|
|
"override_value": {
|
|
"override": false
|
|
},
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Device Owner"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The owner of the device."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_DeviceType",
|
|
"type": "string",
|
|
"maxLength": 30,
|
|
"default_value": "",
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Device Type"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The type of the device."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_Vendor",
|
|
"type": "readonly",
|
|
"maxLength": 250,
|
|
"default_value": "",
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Device Vendor"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The vendor of the device. Uneditable - Autodetected."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_Favorite",
|
|
"type": "integer.checkbox",
|
|
"default_value": 0,
|
|
"override_value": {
|
|
"override": false
|
|
},
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Favorite Device"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Indicates whether the device is marked as a favorite."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_Group",
|
|
"type": "string",
|
|
"maxLength": 10,
|
|
"default_value": "",
|
|
"override_value": {
|
|
"override": false
|
|
},
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Device Group"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The group to which the device belongs."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_Comments",
|
|
"type": "string",
|
|
"default_value": "",
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Device Comments"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Additional comments or notes about the device."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_FirstConnection",
|
|
"type": "readonly",
|
|
"format": "date-time",
|
|
"default_value": "",
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "First Connection"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The date and time of the first connection with the device. Uneditable - Autodetected."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_LastConnection",
|
|
"type": "readonly",
|
|
"format": "date-time",
|
|
"default_value": "",
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Last Connection"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The date and time of the last connection with the device. Uneditable - Autodetected."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_LastIP",
|
|
"type": "readonly",
|
|
"maxLength": 50,
|
|
"default_value": "",
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Last IP"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The last known IP address of the device. Uneditable - Autodetected."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_StaticIP",
|
|
"type": "integer.checkbox",
|
|
"default_value": 1,
|
|
"override_value": {
|
|
"override": true
|
|
},
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Static IP"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Indicates whether the device has a static IP address."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_ScanCycle",
|
|
"type": "integer.checkbox",
|
|
"default_value": 1,
|
|
"override_value": {
|
|
"override": true
|
|
},
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Scan Cycle"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The default value of the <code>Scan device</code> dropdown. Enable if newly discovered devices should be scanned."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_LogEvents",
|
|
"type": "integer.checkbox",
|
|
"default_value": 0,
|
|
"override_value": {
|
|
"override": false
|
|
},
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Log Events"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Indicates whether events related to the device shouldbe logged."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_AlertEvents",
|
|
"type": "integer.checkbox",
|
|
"default_value": 0,
|
|
"override_value": {
|
|
"override": true
|
|
},
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Alert Events"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Indicates whether events related to the device should trigger alerts. The default value of the <code>Alert All Events</code> checkbox."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_AlertDeviceDown",
|
|
"type": "integer.checkbox",
|
|
"default_value": 0,
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Alert Device Down"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Indicates whether an alert should be triggered when the device goes down. The default value of the <code>Alert Down</code> checkbox."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_SkipRepeated",
|
|
"type": "integer",
|
|
"default_value": 0,
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Skip Repeated"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The default value of the <code>Skip repeated notifications for</code> dropdown. Enter number of <b>hours</b> for which repeated notifications should be ignored for. If you enter <code>0</code> then you get notified on all events."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_LastNotification",
|
|
"type": "readonly",
|
|
"format": "date-time",
|
|
"default_value": "",
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Last Notification"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The date and time of the last notification sent for the device. Uneditable - Autodetected."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_PresentLastScan",
|
|
"type": "integer.checkbox",
|
|
"default_value": 1,
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Present Last Scan"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Indicates whether the device should be marked as present after detected in a scan."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_NewDevice",
|
|
"type": "integer.checkbox",
|
|
"default_value": true,
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "New Device"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Indicates whether the device is considered a new device. The default value of the <code>New Device</code> checkbox."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_Location",
|
|
"type": "string",
|
|
"maxLength": 250,
|
|
"default_value": "",
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Device Location"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The location of the device."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_Archived",
|
|
"type": "integer.checkbox",
|
|
"default_value": 0,
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Archived"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Indicates whether the device is archived. The default value of the <code>Archived</code> checkbox."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_Network_Node_MAC_ADDR",
|
|
"type": "string",
|
|
"default_value": "",
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Network Node MAC Address"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The MAC address of the network node."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_Network_Node_port",
|
|
"type": "readonly",
|
|
"default_value": 0,
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Network Node Port"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The port number of the network node. Uneditable."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"function": "dev_Icon",
|
|
"type": "string",
|
|
"default_value": "",
|
|
"options": [],
|
|
"localized": ["name", "description"],
|
|
"name": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "Device Icon"
|
|
}
|
|
],
|
|
"description": [
|
|
{
|
|
"language_code": "en_us",
|
|
"string": "The icon associated with the device. Check the <a href=\"https://github.com/jokob-sk/NetAlertX/blob/main/docs/ICONS.md\" target=\"_blank\">documentation on icons</a> for more details."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"required": [
|
|
"dev_MAC",
|
|
"dev_Name",
|
|
"dev_Owner",
|
|
"dev_FirstConnection",
|
|
"dev_LastConnection",
|
|
"dev_LastIP",
|
|
"dev_StaticIP",
|
|
"dev_ScanCycle",
|
|
"dev_LogEvents",
|
|
"dev_AlertEvents",
|
|
"dev_AlertDeviceDown",
|
|
"dev_SkipRepeated",
|
|
"dev_LastNotification",
|
|
"dev_PresentLastScan",
|
|
"dev_NewDevice",
|
|
"dev_Location",
|
|
"dev_Archived",
|
|
"dev_Network_Node_MAC_ADDR",
|
|
"dev_Network_Node_port",
|
|
"dev_Icon"
|
|
],
|
|
"additionalProperties": false
|
|
}
|