Voice control via Google Home

Hi

In the hunt for the impossible, I stumbled across this article about Google home voice control API.

http://www.theverge.com/platform/amp/2016/10/4/13164882/google-assistant-actions-on-google-developer-sdk

Not being a software tech, it doesn't mean much to me, but is it something that we should consider looking into?

https://developers.google.com/voice-actions/

Hi

Has any one implemented this or any integration with Siri or other voice activated solutions for voice based commands?

I’ve started to configure an Alexa-OpenRemote integration. It’s possible to do that with minimal programming with a combination of Alexa Home Skill, AWS lambda, AWS IoT and MQTT. Note that this solution does not support automatic device discovery.

The following resources were insightful for me :

Instructables - Home automation using RPi + Alexa + IoT

The previous Instructables link is very insightful because it explains steps by step how to configure OAuth by means of ‘AWS Login with Amazon (LWA)’. OAuth is needed for the Alexa Skill.

The following YouTube videos are helpful to understand the link between AWS IoT and MQTT on the client side.

Amazon Web Services (AWS) IoT MQTT Node-RED Raspberry Pi & PLC

Raspberry Pi Node-RED Tutorial with Modbus & MQTT

I’ve haven’t yet finished the integration but managed to configure an Alexa Home Skill so that discovered devices appear in the Alexa App. Discovered devices means devices that were hard coded in the AWS lambda handler. I’ve also played around with AWS IoT and MQTT on the client side (Node-RED).

To finish up this work I still have to do the following:

  • Add devices to the AWS lambda handler and AWS IoT (manually no automatic discovery)

  • Create Node-RED flows that are activated by means of MQTT and that finally call the OpenRemote API to execute commands.

What Rainer’ve written is true, although for the minmum Alexa skill you don’t need AWS IoT and MQTT. What you will need though is AWS developer account beside AWS account itself. You will need provide you credit card info to activate it. I’ve did some integration and all you need to create a skill is AWS lambda. In any case some programming skills would be required and the process itself is a bit cumbersome. What I’m missing in my integration is:

  • devices discovery - right now all devices are hard coded into lambda;

  • end to and encryption - right now I’m using plain text UDP protocol. For some kind security I use Google Authenticator key, it is better than nothing.

But, there is a simple way to drive OpenRemote controller with Amazon Echo. I’m using this method to drive devices which I’ve integrated with OpenRemote and they are not easily available in other platforms, mainly Bose Home Cinema (RS232) and EnOcean devices.

In the simpler solution I use Philips Hue emulator which sends UDP messages to my OpenRemote controller. It works very good and you need just few hours to get it running.

The Philips Hue home automation bridge is here https://github.com/bwssytems/ha-bridge/

I run it through docker with a command:

docker run -d --restart always --name=“Home-Automation-Bridge” --net=“host” -e SERVERIP=“192.168.x.x” -e SERVERPORT=“8083” -v /volume1/public/hab-philips-hue/:/config:rw -v /etc/localtime:/etc/localtime:ro aptalca/home-automation-bridge

``

Running it like this survives my docker machine reboots keeping the configuration intact. You can configure the bridge via web interface http://192.168.x.x:8083

All my devices are accessed through UDP packets, an example of configuring switching ON of my home cinema is
udp://orb:23456/home-cinema-on

``

where orb is an IP address of my openremote controller, you can add it to /etc/hosts file.

The in the Openremote I’ve created UDP listener command ‘udpl’ which listens on port 23456. Adding fallowing rule:

rule “home cinema on”

when

Event($s:source==“udpl”, value==“home-cinema-on”)

then

RockerPress rp = new RockerPress();

rp.setCnt(1);

rp.setSource(“TR1”);

rp.setValue(“ROCKER_BI”); // TV, “ROCKER_BI” Sat

insert(rp);

end

``

In the RHS part of the rule I’m simply emulating EnOcean rocker as I can switch on my home cinema with this rocker too (I’ve did it years ago and there is a demo on YouTube of me doing this. Of course you can put anything on the RHS of the rule which suits your situation.

This solution would work not only with Amazon Echo but also with Google Home and any other solution which is integrated with Philips Hue. As far as I know almost every IoT platform supports Philips Hue :wink:

Hope this help,

Michal

@Rainer: as we are doing similar work with Amazon Echo integration, perhaps we can join forces towards an official Openremote Alexa skill? I wonder how big an interest for it is?

Lets anybody interested in this reply to this post with ‘me too’ :slight_smile:

Hi

Yes, I have the following integration:

On my Synology NAS (last f/w) is installed the controller of the OpenRemote 2.6, then in the Docker is installed the homebridge + module of the homebridge-openremote.

On my iPad mini (with iOS 9.3.5, not iOS10), there is a Devices app that supports HomeKit. In this application, all the devices from OppenRemote are displayed.

Next, Siri. Speak the voice command and it performs!

One advantage of the MQTT solution is that it is standard based. In addition MQTT data communication is encrypted and no port forwarding configuration on the internet router or stuff like that is needed.

I am also using ha-bridge which works quite well for small actions like on/of and level.

Thank you for the hints - I will read and try some of those links.

Although it would be nice to have audio commands natively supported through openremote. There is definitely a lot of interest in voice support on the home automation front at least here in the US.

I've started integrating Amazon Echo as soon as I've got the device in my hands, which was this March. I'm still unable to officially buy it in The Netherlands. I've red red my second device again on my friends address in Germany. As most OR developers are based in Europe you can see these delays. I still can only dream about Echo Show or even Echo Tap...

Nevertheless, IMHO web/app based UI are domed. In my case they are single use only and usually I don't open dedicated apps after few days anymore. Voice control is the way to go. This is the most natural user interface, and when done right it will dusk all other solutions.

I've got a Vera controller which has an Echo skill in beta that you can request access to. It works well and allows me to turn lights on as I'm walking to a room etc.
For Alexa development and testing, look at the Reverb apps and web site. They enabled me to create a skill long before I had an actual Echo device.
I was hoping to also have OR setup to control Vera as voice control isn't always appropriate, but I'm finding the documentation is so poor and inaccurate it's not a great first time experience (the iOS app just crashes whenever I try to trigger a Vera command). If the professional version is better I've been put off long before I consider paying.

Hi Michael

Let me know if there is any way I can help. I am no software programmer but if you need any devices for testing, I can certainly buy if available in US and either ship them to you or I am planning to be in Europe in November so can bring them with and ship from within Europe.

Also if you can perform testing via remote acces in any way, will be happy to set up whatever you need and give you access from here.

Hi everyone

Thanks for all the pointers. I have made some progress on this but not sure how to proceed.

I have installed and I am able to login to the ha-bridge. It is on the same Raspberry Pi that is running the openremote controller.

Any detailed examples on how to link the ha-bridge to a switch and a dimmer currently working with Openremote (zwave) would be very helpful.

I am not clear on how ha-bridge will interface with Openremote.

Also I don't have the Amazon Echo yet. I am going to order one soon but meanwhile is there anyway to test the connection between Openremote and Ha-bridge with out Amazon Echo?

Setup an Amazon account and link it to one of the solutions here https://reverb.ai/

Thanks Liam. On the Alexa app, which skills did you enable to interface it with ha-bridge?

This is built in skill. You just say "Alexa,discover devices" and they should pop up. Take a look in Smart Home section in the Alexa app.

Thank you for your kind offer. I might use it ;). Where you will be in Europe this fall?

For linking ha-bridge with openremote I'm using UDP commands and UDP listener sensor defined in Openremote. There is an example in my previous post.

Thanks Michael- I have not used Openremote with UDP listener so please excuse my ignorance. All my devices are zwave so far so I am not familiar with UDP listener protocol.

In you example, what is "home-cinema-on"

Based on the rule it appears to be a state of a sensor you have udpl- is it configured as a custom sensor?

How would adopt it for controlling z-wave devices?

I will be in Istanbul first 2 weeks of November. If you send me the devices you need, I can purchase from US and should be able to ship from Istanbul.