Simple EZLogic Meshbot notification challenges

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

  1. 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…

1 Like

Hi @blacey

You have done them all correct.
So Let me summarize the problems here

  1. We have a current issue on device triggers on Cloud meshbots (Global and Notification as you named)
    They work when you manually run them , but not triggered by events. The team is on it and It should be fixed shortly.

  2. The notification parameters will be same in all 3 meshbots. We went first with “Notification” Meshbot to emphasize this is meant for notifications. But nonetheless, it will be same in all. Give us some time for that. Our target is in 1 or 2 update it will be completed.

  3. For the capability section of cloud meshbot against local
    We have a more advanced meshbot structure in cloud which allows all local device capabilities and more. But as we sensed from users feedback, it does not make sense to use these “name”, “fw_category”, “fw_subcategory” . Because these are triggers on name change, category change and subcategory change. So we are planning to remove them from the list for now. What would be your opinion on this ?
    And for the other capabilities, they represent same but the wording was left different. Let us fix that asap.

Thanks for your detaileed use case and explanation by the way !

@osman, thank you for the prompt reply. For now, I will use the notification action in a local Meshbot because I also want to relay the event to a database via MQTT provided I can configure it as planned but that is in another thread. I wish the MQTT plugin supported the notification symbol substitutions.

In regards to local vs global capabilities, I’m indifferent on using firmware versions as an automation trigger but I can imagine some use cases for that however, I definitely think there should be parity between the local capability names and values because the differences will definitely confuse users.

Finally, I will try the notification meshbot in the future once the trigger bugs are resolved and released.

Thanks.

1 Like