0

Amazon Echo to control KNX thermostat

Bart Schellens 6 years ago in General updated by Ricardo Pinto | visiontech pt 6 years ago 5

I'm experimenting with Amazon Echo and it's pretty impressive to turn on lights, dim lights, lower the curtains, control my Sonos by speech commands.  Congrats to the bOS team to implement this and looking forward to more functionalities.

I'm struggling however with the bOS Thermometer reference and Target Temperature Reference.  I've created two appliances. One called 'Room' with only the Thermometer reference filled in (KNX object with room temperature) and this works fine.  For the heating in that same room I created another appliance called 'Heating' with the Target Temperature Reference pointing to a KNX object with the group address of the temperature setpoint input in the Address field and the setpoint feedback object in the Status Address field (this works fine in the bOS app both setting and the feedback).

Using the 'Heating' appliance I can easily set the setpoint without problems.  When I however call: "Alexa, what is the Heating set to ?" as indicated in bOS configurator, (s)he replies with the room temperature instead of the heating setpoint (Literally saying: "The temperature of the room is ... degrees").  This is very strange since the room temperature group address is not even linked to the 'Heating' appliance in bOS but only to the 'Room' appliance?  I checked and both group addresses (the Address and Status Address group address) of the object referred to in the 'Heating' appliance both give the correct setpoint value.  I tried removing both appliances 'Room' and 'Heating' and re-creating them but without success.  I'm really curious if I'm making a mistake here or if there is a small bug in the bOS appliances ?  Any suggestion welcome.

Hi Bart,


Tried to reproduce your scenario, with both appliances just called "Room" and "Heating", but I got different results. When I ask what's the heating set to, it says that it found several thermostats in my account, which is actually not true, and it finishes without saying any value. So I'll do more tests to try to reproduce your error.


Maybe Alexa is being confused by the appliances names, like Room and Heating. Can you test it with different names, like instead of Room call it Office, and instead of heating call it Office heating, to see how it goes? Just for discarding some things...


Best regards

Hello again,


So I've made further testings, and I was able to get it working.


So I created the "Room" and "Heating" appliances like you. Linked the Temperature status only to the Room, and the Setpoint status to the Heating.


The only way I could get the expected result, was asking "Alexa, what is the heating temperature set to?". If I don't say "temperature" after "heating", it doesn't work.


Btw, I decided to link both Temperature status and Setpoint status to Room only, and delete the Heating appliance, and it still works.


So in just one appliance (Room) I was able to ask:


"Alexa, what's the room temperature?"

"Alexa, what's the room temperature set to?"


If you need a separated appliance for a setpoint, like the "Heating" appliance you were using, I think you need to say the name of the appliance + "temperature", like "What's the heating temperature set to?", otherwise if you only ask "Alexa, what's the heating set to?" it gets confused.


But, the answer is pretty weird: Alexa replies with something like "all is set", "all your set" or whatever she's saying, who knows what she's saying... :-S


Best regards

Hello Ricardo,


Thank you very much for your help.  The trick is indeed the word temperature in: "What is device temperature set to".  May be a suggestion for bOS team to change the instructions in the explanation window of the appliance since it states "What is the device name set to" and it should be "What is the device name temperature set to".

You are also right I can combine both things in 1 appliance so I deleted heating and only kept room allowing me to ask for room temperature, set the setpoint and ask the current setpoint.


Best regards,

Bart

+1

From the API reference:


Example Utterances: “Alexa, what is the device name set to?

Purpose: Requests the current set temperature (setpoint) of the specified device.


Example Utterances: “Alexa, what is the temperature of device name?”

Purpose: Requests the temperature reading of the specified device.



https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/archive/shv2-smart-home-skill-api-reference#temperature-control-and-query-messages

+1

Tilen is right, it works as stated in the API reference...


Thanks for the info Tilen.


Best regards