Sounds a good fit for where I was headed. I noticed your comment regarding tag structure, if I were to tag with synonym phrases which would be the preferred option?
Group living_room_lights [ "voice:living room lights", "voice:lounge lights" ]
or
Group living_room_lights ["voice:living room lights, lounge lights"]
None, really - tags are meant to reference ontologies, not for putting arbitrary in information for specific use cases. You might rather go for the binding notation like
Group living_room_lights { voice="living room lights,lounge lights" }
But I think NLP is pretty complex and probably needs some more advanced concepts and thoughts, so don’t take the above as a suggestion on how to do it
Would that cause issues with items already bound to other addons?
I agree NLP is complex and that’s why I’m aiming to use an NLP engine (and I’m currently using a third party engine) to do all the heavy lifting to decipher what the user meant (the intent). I’m currently at a bit of a loose end tying the intent back to actions against the correct items.
I received my echo two days ago and started to play with it, awsome gadget.
The amazon-echo-bridge is runing and I can control some switched devices as well as dim some lights.
Doing this, I started to think of how a native openHAB binding could be created, using JUPnP as a base for simulating a hue bridge.
This should be feasible, but we again would be limited to switching or dimming until Amazon will implement more commands to control connected home devices.
Following this thread here I found the openHAB skill for Alexa, which I did not try yet, but think that this could be the better way of linking openHAB to the Echo.
I know tha it will not be the nicest way to always have to say “Alexa, ask openHAB (or whatever we will call it) to…”, but a skill will give us the possibility to implement new commands (like the existing one already does -> lower/rise rolershuters).
So what do you think of going that way, having an “official” openHAB echo skill ?
Should we start a project on Bountysource for it? I am willing to kick in $500 to the development. I am sure others would be willing to help out also.
I am looking to control as much as possible with alexa directly, already can control 24 devices with amazon-echo-ha-bridge, but to control more then that you need more then one bridge.
Need to be able to ask things like “what is my current power usage”, “is the water heater on”, “what is the current battery charge”, etc. I guess to do this it needs to be a skill, “Alexa, ask OpenHab”.
I know I can say “Alexa turn garage doors to on” to open then, but really would like to do that cleaner.
@sipvoip - This is relatively easy if you simply pass the full text string (via a custom/private Skill) straight to an OpenHAB VoiceCommand. You can then define all the logic directly in your rules, and have another item which contains the OpenHAB text response so Alexa can reply with a custom message. As mentioned above, I had this working in PHP, but my PoC code is cludgy, and you have to say the skill invocation name, like ‘Alexa ask Jarvis for a status update’… Working to rewrite it in JS as time permits.
Ideally though I want to leverage ASK utterances to extract slots and intelligently issue commands to OpenHAB. This way interactions become a bit more intelligent/natural. A good starting point/example of this can be found here:
@Kai
Finally got round to setting up the “Echo Bridge”… Turns out it wasn’t that hard…
Even easier when I found I could use this to configure the bridge rather than posting JSON to it… http://bridgeip:port/configurator.html
Is pretty easy from then on…
Can anyone confirm what other Echo commands are possible? I guess because the bridge is emulating a hue bridge that I’m stuck saying “Alexa, turn on the garage door” top open it
@TommySharp - On/Off/Dim - that is unfortunately it! You can do more by creating combinations of custom switch items and rules on the OpenHAB server side too, but its somewhat limited…
@sipvoip - My NodeJS ASK Skill implementation is coming along very well. I finally have it doing almost everything desired, including most of what you described above. Because I used Alexa-App to build the skill in JS, it can be hosted locally on NodeJS (which I prefer, short of an OH io/binding ) or deployed as a Lambda ARN in the cloud. By customizing the scripts JS ‘maps’ which connect simple words to OpenHAB items (i.e. ‘power consumption’ > OH Item ‘HEM1_P1’ or ‘office lights’ > ‘Light_Group_Office’), and heavily leveraging ASK utterances/slots, its really easy for anyone to get used to using it… It is also getting quite good at figuring out what you want regardless of how you ask it, and I’m working on intelligently ‘re-prompting’ the user as needed if something isn’t understood. The only pain points are you have to say the trigger word first - ‘Alexa ask Jarvis to …’, it relies on the cloud, and it cannot ‘announce’ stuff on its own…
This skill based approach however allows me to do all kinds of stuff around the house, and provides a clean I/O via voice for just about everything (not just ‘OK’ in response). Currently I can:
Check status reports/weather reports/etc, the output of custom OpenHAB rules
Set Hue colors/levels, by room
Set Nest temperature
Control HVAC (house fan, air purifiers, wood stove blowers, target temps, etc)
Switch any appliance that can be controlled by OpenHAB (directly/zigbee/zwave/etc)
Change scenes/modes
Get states/values of anything that has been mapped (i.e. multisensor temp/humidity/lux, power consumption, etc)
Display custom ‘cards’ in the Alexa app
Easily customize the verbal feedback for any action!
I like it! How do I start playing with it? I like that it can run locally, but the stupid ask Jarvis part frustrates me for some reason. I hope Amazon lets us or someone hacks a way to make this work without that. Also also as you point out fixing that limitation of announcing stuff would be nice. Anyway, would love to play with what you have.
@sipvoip - THANKS A LOT for your donation via PayPal! That was very much appreciated. As mentioned I’ve already sunk 25 hours of R&D into this thing, and am happy to share it with the open source community. I will expedite getting it up on Github for you
@TommySharp I’ve mentioned this a few times earlier on this and other threads, but Alexa will natively allow you to say “Alexa, Open the garage door” for instance and pass the On command using echobridge. I’ve been using the echobridge setup since day one and meets most of my control needs, although I’d love to try oout some of the new development you guys are working on.
@ubergeek As far as I know the closest I can say with the echobridge is “Alexa, turn on the Garage door”. You can only say On/Off not Open/Close as it’s emulating lights…
Very interesting, and hope that we can somehow get the Echo to also use a custom Skill without having to say the ‘Skill’ name first, and do more than just ON/OFF/DIM like the Amazon Echo HA Bridge seemingly offers! Please let me know if you uncover any other details on this!
Coming down home stretch with a public release of my custom Alexa-HA skill! It might happen later tonight baring any unforeseen complications Stay tuned…