Currently there are two ways to send a notification; one is using a notification action in an Automation Meshbot and the other is to use a Notification Meshbot that seems to be the Ezlo recommended mechanism.
I am trying to create a simple notification that is sent when a security sensor is tripped (i.e. door opened). Seems straightforward but neither of the following seems to work properly. The sensor I am using is as follows.
"api": "1.0",
"error": null,
"id": "1683029530577",
"method": "hub.devices.list",
"result": {
"devices": [
{
"_id": "644ed4aa129de1123fc126d1",
"armed": true,
"batteryPowered": true,
"category": "security_sensor",
"deviceTypeId": "634_28672_57345",
"firmware": [
{
"id": "us.634.57345.0",
"version": "1.40"
}
],
"gatewayId": "6037ab99129de115d9b085cc",
"info": {
"channels.count": "1",
"firmware.stack": "7.13",
"hardware": "1",
"manufacturer": "zooZ",
"model": "Unknown",
"protocol": "zwave",
"zwave.node": "37",
"zwave.smartstart": "yes"
},
"name": "Half Bath",
"parentDeviceId": "",
"persistent": false,
"reachable": true,
"ready": true,
"roomId": "",
"security": "high",
"status": "idle",
"subcategory": "door",
"type": "sensor"
}
]
}
}
I have confirmed that the sensor state changes when it is tripped. You can see the state of the sensor when opened below:
{
"api": "1.0",
"error": null,
"id": "1683029216970",
"method": "hub.items.list",
"result": {
"items": [
{
"_id": "644ed4aa129de1123fc126d2",
"deviceId": "644ed4aa129de1123fc126d1",
"hasGetter": true,
"hasSetter": false,
"name": "battery",
"show": true,
"value": 100,
"valueFormatted": "100",
"valueType": "int"
},
{
"_id": "644ed4aa129de1123fc126d3",
"deviceId": "644ed4aa129de1123fc126d1",
"enum": [
"unknown",
"dw_is_opened",
"dw_is_closed"
],
"hasGetter": true,
"hasSetter": false,
"name": "dw_state",
"show": true,
"value": "dw_is_opened",
"valueFormatted": "dw_is_opened",
"valueType": "token"
},
{
"_id": "644ed4aa129de1123fc126d4",
"deviceId": "644ed4aa129de1123fc126d1",
"hasGetter": true,
"hasSetter": false,
"name": "security_threat",
"show": true,
"value": true,
"valueFormatted": "true",
"valueType": "bool"
}
]
}
}
Here are the three meshbots that I created as a test. You can see the first one in the list is an Automation Meshbot and the second is a Notification Meshbot.
Notification Meshbot
This was my first attempt because it is the recommended mechanism but I could not get it to send a notification at all, neither email nor push. Perhaps it is because the NotificationMeshbot shows that the meshbot isn’t active in the screenshot above and I have no idea how to make it active… Why wouldn’t it be active and how do I enable it?
Local Meshbot Notification Action
This was my second attempt because I couldn’t get the notification meshbot to work at all. In this case, I was able to trigger a notification but found that the symbol substitution available in the notification meshbot is not available and the push notification sends the body, not the subject which is confusing.
Global Meshbot Notification Action
This was my third attempt… In this case, the notification action includes the symbol substitution but does not trigger either…
Other observations
- When declaring the trigger for the Notification Meshbot, the sensor Capabilities are raw values with no semantical interpretation by EZLogic vs. the Local Meshbot trigger. This seems to be an issue with Global vs. Local meshbots in general and it is not clear to the end user why it is this way.
Notification Meshbot
Automation Meshbot
Perhaps this is the root cause for my issues. The local meshbot trigger capabilities are pre-wired for a security sensor so to speak whereas the global are not. Does this mean that I have to declare a “Global” trigger as a compound trigger “contact_sensor” changes and that value is “false”?
Please let me know how to implement this simple use case…