Ezlo REST API Documentation etc?

I’m having problems finding a true API guide for Ezlo. It seems there is a process using the existing authentication URL and sha1 password to grab data and then call a token URL service, which isn’t described in any document I have found.

  1. Does a public API endpoint now exist for Ezlo as it did for Vera similar to the vera-us-oem-relay URLs. Is apitool.ezlo.com possibly this endpoint?

  2. The python tool references endpoints to authenticate, get a token (cloud.ezlo.com) and sync_token (api-cloud.ezlo.com/v1/request) - is there a living document that exists somewhere that describes this?

  3. There is apparently a Skype group - are there other dedicated groups for Ezlo API testing/discussion that exist? The examples etc here seem few and far between unless I’m looking at the wrong spot. The API documentation seems solid but it at least appears to be lacking everything that is required with authentication etc.

TIA

I don’t think so but don’t quote me on it.

People have previously asked if the Ezlo HTTPS API is accessible remotely off the LAN, but I don’t think we ever got an answer.

@Oleh would be the man to ask I think.

I wrote my guide for accessing the HTTP API locally on your LAN here.

In what section is the authentication and token described along with the endpoints?

Hi @mr007

apitool.ezlo.com is not an endpoint, we created this tool to work with hubs API and make this process as easy as possible.
Can you add please more details about what do you want to achieve and from our side, we will provide the best solution.

I think he wants to be able to access the hubs local Http API via a cloud relay server.

E.g. Remotely not from the LAN.

@Oleh

Exactly as @cw-kid mentioned - the same thing that the vera relays provided as a public endpoint.

Your guide is where I derived much of the information - thank you for that btw! I’m still curious where documentation existed for the authentication pieces you put together as it seems like tribal knowledge.

1 Like

@mr007 - Yes, it is tribal knowledge. If you are familiar with javascript, I also implemented the authentication scheme in Ezlo-Hub-Kit. There are two authentication resolvers, a file resolver and the EzloCloudResolver - the latter is the one you will want to read through as a reference.

The script for getting the token in my guide was done by @reneboer not myself. I just worked out all the other pieces and put it together.

Also with some help from the other guys on the forum.

@mr007

Your question was asked here on the original thread.

Answer at that time was here.

Does it even still work with Vera hubs today?

I’ve never needed to use the HTTP API remotely, but I thought that it did at one point work remotely via a relay, but then they later disabled it.

Or maybe I’m wrong.

@cw-kid - yes it does. I have about 100 hubs I’m using it on today.

@blacey - Yes - I’ll check this out. Would you have information about the public endpoint/relay being available or if it’s in the plans? I would hate to have to move away to Samsung or figure something else out for my use case if it isn’t going to be available.

Which Vera hubs are you using? UI7 or UI5?

This entry in the Vera wiki says it is obsolete for UI7 that must be what I was thinking of.

They’re all UI7

1 Like

Interesting so are there some other instructions somewhere on how to do it?

Or did you follow that same wiki page?

I’d like to try it for myself.

Also regarding your 100 hubs are you using some custom app or something? What is your use case?

Create a feature request on the ticketing system here. You may need to create a new login account. If you do please post the ticket url back in this thread.

Hi @mr007,

Assuming you want to connect to the Ezlo firmware based hubs then here is a python script that can connect local or remote (via internet through the Ezlo proxies). This is NOT for the Vera UI7 based hubs.

There is no (complete) documentation on this, but this should show you the logic.

The for remote access the command is :

python3 Ezlo_ws_client.py -d Hub_serial  UID "PWD"

The for local access the command is (this stores the tokens for faster reconnects):

python3 Ezlo_ws_client.py -i Hub_IP Hub_serial  UID "PWD"

Ezlo_ws_client.zip (3.8 KB)
Cheers Rene

1 Like

@cw-kid the documentation I had wasn’t from a wiki - it was a part of the developer API docs along with MiOS phone app and MMS API docs. This isn’t something I believe was ever published.

@reneboer - thank you this should be perfect. Hopefully at some point there is http based availability but using ws is at least a good start. I’ll check this out, thanks again.