API documentation - Pre-Alpha - For Ezlo controllers


Looking through the API i completely miss a way to get any true Z-Wave device level data. The UPNP definitions as used by Vera as something you could complain about, but it is a well defined standard and as far as i know widely in HA (https://openconnectivity.org/). Why reinvent the wheel? But more serious is that there is hardly any details to obtain about devices. Look at this wiki page http://wiki.micasaverde.com/index.php/Luup_UPnP_Variables_and_Actions and you see what I mean what we can see on a Vera.

This is all I see on the new platform:

          "_id": "5e88a318f4947f07db6e7e13",
          "batteryPowered": false,
          "category": "switch",
          "deviceTypeId": "600_3_4231",
          "gatewayId": "5e6a7dacb7c77f07569bf50f",
          "info": {
            "manufacturer": "NEO Coolcam",
            "model": "NAS-WR01Z"
          "name": "SK Neo Power",
          "parentDeviceId": "",
          "reachable": true,
          "ready": true,
          "roomId": "",
          "security": "no",
          "status": "idle",
          "subcategory": "interior_plugin",
          "type": "switch.outlet"

Much of this maps with the lack of core functionality of the new controller to make it a serious HA platform or even get it up to par with the Vera functionality.

Cheers Rene


You are spot on and, from my Linux FW testing experience, this will become an issue during the test/debug phase of the new Linux Firmware/HW . I reported a bug with a Zooz smart plug on an earlier Linux Firmware release and the development team requested additional z-wave device details. I asked if there was an API or some way to get the details (logs?) on the Linux Firmware but there wasn’t a way at that time. I actually had to exclude the device from the Edge running the Linux Firmware and include it on my Vera Plus running UI7 just to provide the relevant z-wave details so they could address a device-integration issue in the Linux Firmware. For this class of development bugs alone, they need to expose device details and I’m assuming that they just haven’t gotten to it yet. While we may not see it in a simple mobile App UI, it should be available via the more advanced WebUI and definitely via an API or logging to enable efficient development/test/debug.


You are 100% spot on.
We are in the process of exposing more and more of the functionality via APIs…
Could you help us by telling us which functionality is a priority so that we can start delivering those functionality in the APIs first? (every 2 weeks, which is our sprints, we hope to release new capabilities in the API).

1 Like

Melih, back in February I noted that there was apparently no way for a plugin/device to watch a value on another device and receive an event when it changes in the Lua API. At that time, Andrey said they would add it. This is a pretty big miss in that API. Now done?

I’ll check this and you will get the status on that here @rigpapa

Hello @rigpapa,
Implementation will be available in the next Linux firmware release( next thursday or friday ).
Here is draft of APICore Events - eZLO API.pdf (124.4 KB)


In this case its better to compare items and variables.

I don’t see anything that lists the command classes identified for a device. That seems important for plugins to be sure if they should interact with a given device.

Cloud API was designed as protocol independent API. We have a lot of nice Z-Wave features in our roadmap thanks to the community. We try to implement each feature in universal way and reuse data structures/API for other protocols. We are working on that.

Lua API provides full functionality of Z-Wave stack: list of commands classes, multi-channels, associations, etc. It’s not just variables as it was in old API. It’s specific Z-Wave data structures, events, functions. If developer knows Z-Wave well then it would be easy to use it. It’s very close to Z-Wave standard and specification.

You can create own plugin and create any item which will support any Z-Wave specific feature.

Z-Wave Lua API has published.

1 Like

Hi @andryist,

Maybe I will grasp the big picture at one point. Problem now is that we cannot yet used the Lua API, nor the local cloud API so it is al not visible. Looking at the Zwave API it does have much of what is needed indeed. Just not yet accessible and not seeing a way to link the zwave node ID back the de device ID strings in the cloud API. You may want to include the device type (zwave, zigbee, BLE,…) and its identifier in the match (Lua) API in the cloud API device details. At least gives a simple path down the API three. Also suggestion for the cloud API call hub.items.list, add a optional parameter to get the list for just one deviceId.

@Oleh, i looked at the items list and that are indeed the UI type variables and actions. It does not include the protocol level items, but I understand the plan is to hide that from the UI and only have those available for plugins. I would reconsider that as you will make life much harder for your support staff if the user is basically blind and cannot give more details than “it does not work” (killer phrase, ask your support team).

Cheers Rene


You can put any new Lua plugin on your VeraEdge via SSH access. It was described in our documentation.
You can use Ezlo API Tool for working with Cloud API now.

We are going to add nodeId to info section of device. Myabe not the next release, but soon.

We have already added it. It’s avaliable in the latest release.

    "method": "hub.items.list",
    "id": "_ID_",
    "params": {
        "deviceIds": [
1 Like

What is the general device model outside of ZWave? If I’m writing a plugin that needs to track the state of binary switches and control them, for example, how do I get a list of all binary switches in the system, of whatever source? How do I control them without having to know that they are ZWave vs RS485 vs TCP vs HTTP vs Tuya cloud vs…some protocol I cannot possibly anticipate? How does a plugin insert itself into this model so that its custom binary switch devices become part of that fabric? How do we create a virtual binary switch that is tied to no physical device at all?

1 Like

I looked, but the current documentation is not enough for me to start and I do not have time for hours of trial and error. Could be my skill level.

The local access described in the API is not yet working for me. Some key information seems missing, so I am waiting on the promised python examples to see what that is. The API tool is nice but how would you use that in code?

Thanks for the hub.items.list update.

Cheers Rene

It is very simple.
You need to use core.get_items from Lua API.
You will receive all items available in the system and just need to choose item you need with basic or switch in item name.

Core module is responsible for it and allows to add universal devices and items to hub model and plugin is responsible about behaviour of each item which was added

Core doesn’t know about protocols. It is providing external API for “universal” devices.
Plugin is descibing the bihaviour of each item.
Plugin is deciding how to control phisycal device included to the hub or make network request.

As written this is a bit concerning… when you refer to “item name” here, I hope that means you are not referring to a device name field over which the user has control and may change to something unusable in this context. Right? This “name” is not the name a user assigns to the device, it’s a system name (as in type), assigned, immutable, right?


Its a name which assigned by a plugin.
We have a list of names supported by system.
The list of these names provided in documention.

When is the REST HTTP API Planed for Ezlo controllers? It would be easier to Beta Test when we will be able to interconnect it with existing Vera setup with simple GET commands and do a test to a production setups.

1 Like

We are working on HTTP client API implementation and planning to have it available in few sprints.


Hi Loana nice too meet you. How can I access from Internet. There are some endpoint or authentication process to get device data from my own cloud development? like a rest api in other brands? Thanks Marcelo

Hi @itokii.iot we have updated our API documents with new websites so please check the docs and let us know if you can achieve what you request.