Ezlo Linux firmware - HTTP documentation preview

I rebooted my Ezlo Plus due to a IP-address change and now I can change house mode without authentication.

OK that’s strange.

Has anybody managed to send insecure http command from Home Assistant to Ezlo or all of the HA users are banned :slight_smile: I tried to send it with rest command but it looks like you can only send http get commands with rest not https like in case with ezlo. Or i’m doing something wrong.

I’ve just rebooted my Ezlo Plus.

I tried to change the House Mode with no auth and I was able to switch it from Home to Away and also send the Cancel Command to stop it.

So it does seem to be working now with no auth.

Not sure why it wasn’t working yesterday ?

No I haven’t been able to send any HTTP commands to the Ezlo hub.

Even with auth turned off seems you still have to use HTTPS.

Does anyone know the correct commands for a Thermostat device ?

I am unable to get these device item objects working:

thermostat_setpoint_heating
thermostat_setpoint_cooling
thermostat_mode

I can however use thermostat_setpoint OK and change the setpoint using value_int=23 for 23 degrees etc.

See item number " 6. Controlling a Thermostat’s Set Point value." on this thread in the dummy guide here for further details.

There is also some issue or bug that kinda crashes the Vera Mobile Android app.

If I am in the Vera Mobile app connected to the Ezlo Plus and looking at the devices view, if I then send some incorrect / bad HTTPS commands to the HTTP Server API from Postman, then the Vera Mobile app kinda crashes it switches itself back to the Controllers list page, the Ezlo Plus then shows as offline and red briefly and then it comes back to online and green and I have to select the controller again to get back in to the app proper and look at the devices again.

@Ioana

Please can someone answer my questions here at number 6. about controlling a Thermostat device.

Also I need some working example HTTPS commands for retrieving devices current status and retrieving different variable values from a device.

As yet I’ve been unable to use a HTTPS command to query a device.

Also has the bug been fixed for disarming a device via a HTTPS command? As previously it was not working is it logged in your bug tracking system?

Thank you.

Hi cw-kid,

I asked my colleague @Oleh to get back to you with answers.

@cw-kid, about PART6

https://192.168.0.11:17000/v1/method/hub.device.armed.set?_id=5f4e588c120bab1069c13c4f&value_bool=false

  1. Please use “$URL” to avoid truncation of a query in Bash shell:
  2. Please, use the “armed” property of a command, not “value”, replace “value_bool” with “armed_bool”.

curl --insecure --http1.1 “https://192.168.0.11:17000/v1/method/hub.device.armed.set?_id=5f4e588c120bab1069c13c4f&armed_bool=true”
curl --insecure --http1.1 “https://192.168.0.11:17000/v1/method/hub.device.armed.set?_id=5f4e588c120bab1069c13c4f&armed_bool=false”

hub.device.armed.set WS example:
{
“method”: “hub.device.armed.set”,
“id”: “ ID ”,
“params”: {
“_id” : “ OBJECT_ID ”,
“armed”: true,
}
}

@Oleh

Thanks the Disarm command now works, I’ve updated the guide.

How about my other two question above ?

Cheers.

@Oleh

What is the Ezlo equivalent of SDATA?

This http command can be used in a browser for Vera.

http://VERA-IP/port_3480/data_request?id=sdata

Hi cw-kid,

The hub.data.list comes closest. It gives devices, items, scenes and rooms. You can even apply pretty advanced filters on the values you want returned to optimize the data amount returned. I am looking into it for a newer version of the EzloBridge plugin.

Cheers Rene

1 Like

@cw-kid,
The closest analog of sdata is hub.data.list. This command allows to request data from multiple collections from a hub in one request, allows data filtering by id and field names. Default request looks like this:

{
    "api": "1.0",
    "method": "hub.data.list",
    "id": "<REQUEST_ID>",
    "params": {
        "devices":null,
        "items":null,
        "rooms": null,
        "scenes":null
    }
}

Default request, with all fields filled:

{
    "api": "1.0",
    "method": "hub.data.list",
    "id": "<REQUEST_ID>",
    "params": {
        "devices":{ 
            "ids":[], "fields": { "include":[] }
         },
        "items":{ 
            "ids":[], "fields": { "include":[] }
         },
        "rooms":{ 
            "ids":[], "fields": { "include":[] }
         },
        "scenes":{ 
            "ids":[], "fields": { "include":[] }
         }
    }
}
2 Likes

Detailed description of hud.data.list in attachment
hub.data.list.pdf (89.0 KB)

@cw-kid,
Just curious about what project are you working on with this request?

@Oleh I’m talking to “The Home Remote” developer Bill about him adding support for the Ezlo platform.

The Home Remote is a 3rd party cross platform dashboard GUI control app.

I wrote about it here.

Bill has expressed an interesting in adding support for Ezlo hubs.

I’ve sent him all the Ezlo API documentation and links to the threads on this forum.

I’ve also offered him remote access to my Ezlo Plus hub for testing and developing against, unless you guys want to send him an Ezlo Plus hub ?

I’ve been talking to Melih recently about how all the 3rd party dashboard apps out there and all the 3rd party HA systems / HA software platforms out there that currently integrate with Vera hubs are all going to be broken and no longer work with the new Ezlo hubs and API’s.

There are many systems out there that integrate with Vera currently and all will stop working, Home Assistant being a prime example, a lot of those folks just use Vera hubs as a “Z-Wave Radio”.

All systems and apps like this will have to be updated by the 3rd party developers for the Ezlo platform. Many will never be updated however due to lack of interest or them not being actively developed anymore like the Imperihome dashboard app for example.

1 Like

Hi
there maybe a way to integrate it into Imperihome using ISS from it

1 Like

Not sure I’ve never used Imperihome ISS. Ask @reneboer he’s used it for Open Luup.

Hello,

How do I make these API calls remotely? I.e. is there a vera domain name I can hit instead of the local IP?

Thanks!