Tasker + Autovoice + Autowear is what I use. Once the support between Google Assistant on the watch and the phone gets better I’ll drop the Autowear. When Google Assistant integration with OH comes out of beta I might drop the Autovoice for controlling OH (I use it for other phone automation do won’t be dropping it entirely).
This is for voice control. With Autowear you can also create custom floating icons and even your own watchface if desired with links to Tasker tasks.
It is a little awkward to have to say “note to self, open the garage” on the watch and “ask Autovoice to open the garage” on the phone but so far I’m satisfied.
I’m about to do this, can you give a brief writeup of how you tied the different apps together/what settings you used/lessons learned/etc?
EDIT: I should caveat that I have a somewhat different intention than most here. I already have the VoiceCommand parts of the OH android app setup. What I really want to do is simply pass the speech-to-text I say to the watch to the VoiceCommand item on the OH2 server and let it process the command with the same rules I have now so that I’m not maintaining rules in two places. For example, if I say “turn on the lights” I want it to go through the OH REST API (or whatever is easiest) and simply set the VoiceCommand item to “turn on the lights”.
On the watch I use AutoWear so I can say to my Watch “OK Google Note to Self” followed by a command that AutoVoice. But I will admit that once I set it up I never used it because I only actually talk to my watch when in the car and I can just talk straight to my phone in that case. So I’ll skip on that part for now as I’m not sure it even still works with some of the later updates to Google Assistant on the watch (I honestly wasn’t too sure it still worked when I wrote the above).
On the phone I will say something like “OK Google, Ask Autovoice to open the garage”. There are ways to create a shortcut for this in Google Assistance but I couldn’t get that to work last time I tried.
I have a Profile in Tasker triggered by AutoVoice Recognized. I used the “Easy Way” and set the command to be “open the garage”. I added a response just to get a confirmation that the task was triggered.
In the task I have three Actions:
HTTP Post to https://username:password@myopenhab.org
Path: /rest/items/GarageItem
Data/File: ON
Content Type: text/plain
Trust Any Certificate: checked if using self-signed certs
Continue Task After Error: checked
Flash: Successfully issued command to open the garage
If: %HTTPR EQ 200
Flash: Failed to issue command to open the garage: %HTTPR
If: %HTTPR NEQ 200
In OH I have a Rule that triggers when GarageItem receives a command and it triggers the Item that actually “pushes” the button (I have a relay wired to the interior button.
All of my voice commands, even the ones for my phone automation, are simple commands without extra data. I’m pretty sure there is a way to say something like “OK Google, Ask Autovoice to tell openHAB to open the garage” and write a profile that triggers on “tell openHAB to” and sends the “open the garage” to your VoiceCommand Item but I don’t have the Autovoice skills to do that. It is a mouth full but you should be able to create a shortcut in Assistant that maps “tell openHAB to” to the full “Ask Autovoice to tell openHAB to” which makes it a bit more natural.
I find it awkward to talk to my devices anyway so I really only ever use this stuff in my car, and so I’ve never needed anything more.
One of the first comments is that Home Companio for Wear doesn’t work with openHAB 2.
But it doesn’t look that complicated. One could probably build a complication or watch face using Autowear pretty easily to do what it does, maybe without the autodiscovery of Items part (if I’m reading its capabilities correctly).