Ezlo REST API Documentation etc?

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.

@mr007,
do you want to control hubs through Http API via public endpoint or it will be some integration with other services/apps?

@Oleh,
Hubs through HTTP API via public endpoint. Along with some basic smart home controls - I manage properties that interact with all sorts of different APIs - this provides intelligence and an abstraction layer based on various events that can occur at any given time. With the retirement of the Vera devices, the goal is to replicate what we had existing as the properties grow and we can no longer configure them with the edge controllers.

Are they cloud services (eg: do you talk to them over the internet or local devices)?

@melih they are all cloud services enabled through a controller such as Vera or having direct APIs of their own. This is obviously the point of the public endpoint.

I understand.
Can you please provide me (either here or on a PM) list of these cloud services, so that we can integrate it natively into our system for you. (So that when you are creating automations etc you can do it from a single interface and no messing around running APIs etc)