Run an Ezlo VOI Scene (Alexa / Google Home Voice Assistant) from your Vera Firmware Controller

Ezlo VOI feature description here if you need to know what it is.

Ezlo VOI Step by Step Guide here. This is the thread I have been using to submit feedback to Ezlo about VOI.

To use Ezlo VOI you will need an Ezlo Atom / PlugHub or Ezlo Plus / Secure controller or the beta Ezlo Linux firmware running on your spare Vera Edge controller.

Most of my devices are Z-Wave however I do have a few devices that work with either Alexa or Google Home voice assistants but are not directly supported by Vera.

An example device would be a Bamboo Essential Oils Diffuser I have that is WIFI and works on the eWeLink HA platform.

In the beta Vera mobile app you can also Chat with your voice assistant via text input, this is handy for testing the connection is working OK.

In the beta Vera mobile app for my Ezlo Plus Controller, I have created several scenes using the Google Home VOI device.

In the Action of these scenes I selected the Google Home VOI device and added in my “text” command.

For example to turn on the Diffuser device:

For example to turn off the Diffuser device:

And to change the colour of the light on the Diffuser device to blue for example:

When I run these scenes on the Ezlo Plus controller, they work OK and control the Diffuser device via commands being sent to Google Home from Ezlo VOI.

I then wanted to be able to run these scenes from my Production Vera Plus running regular Vera firmware.

For this I am using the Ezlo HTTP Server API aka Luup Requests.

See here for how to construct your HTTPS commands to be able to run Ezlo scenes.

Then on my production Vera Plus I just created some new scenes to run the HTTPS commands and send them to the Ezlo Plus.

image

In the Vera scenes I added some Luup Code for the HTTPS commands to be send to the Ezlo Plus controller.

Command example:

This will run the “Turn On Diffuser” scene on the Ezlo Plus from the scene on the Vera Plus.

luup.inet.wget("https://192.168.0.11:17000/v1/method/hub/scenes/run?sceneId=5f4d6a2f120bab10a13b6916")

So I can now control devices that are only supported by Google Home / Alexa but are not directly supported by Vera, from my production Vera Plus controller. :grin:

2 Likes

Great catch. May I suggest to take a look at my Virtual Device Plug-ins:

You’d avoid two scenes and just turn it on/off from a normal switch:

v 2 coming in a couple of days, with less memory footprint and more features.

2 Likes

Yes you may suggest your plugin. :blush:

My scenes in Vera were just an example.

Personally I would create a virtual switch device using Apps - Develop Apps - Create Device and I’d use some PLEG logic behind that virtual switch to fire off the wget commands to the Ezlo controller.

I used to create scenes, before, but HTTP virtual devices are easier than anything else. Just paste your URL and you’re done. 100% mobile and Alexa friendly.

v2 has less memory footprint and the ability to update the UI only if the call has successfully completed. I use it to call some HTTP endpoints that cannot return a result unless a couple of seconds. This should be up very soon.

2 Likes

Sounds great!

I’m a bit old skool the way I do it, but I was aware of your plugin before.

@therealdb

Forgot to ask I assume the virtual switches will also work in Imperihome app?

It should. I never tried it explicitly, but it’s really a standard switch from Vera’s perspective.

It will work in Imperihome app then also.

There are also heaters, roller shutters, RGBs, dimmers and any sensors you’ll need. All standard. I use a lot of them with Tasmota/Shelly-based things.

1 Like

Wow! I will install it on my test Vera Edge unit and take a look at the plugin then.