[SOLVED] Alexa V3 - Thermostat Issue

No worries. Did you mean you swapped with ThermostatController? If not, I’m curious of what you were trying to achieve with your BathroomRequesting item. If you indeed changed to ModeController and kept the nonControllable=true parameter, that would mean you just want to query for the status of that item but not control it.

My heating system has no on/off switch, it’s purely status, it turns on and off via the setpoint, hence I only really wanted setpoint and temperature but it doesn’t work with just the two channels.
A lot in my example was me playing and testing, I meant swapping thermostatMode for the PowerController.
BathroomRequesting was the closest item I could put in to get it to work, adding it as a PowerController was the first working solution I found (albeit I shouldn’t be able to toggle it), but it’s good now :+1:

I am surprised that a Thermostat endpoint group wouldn’t work with just a setpoint and temperature sensor. As a matter a fact, now that I understand what you intended to do, modeling BathroomRequesting as ModeController is actually discarded by the skill since that interface doesn’t support the Switch item type. So only the other two items are actually associated with your thermostat endpoint group.

Technically, the proper way to model a Switch item type as non controllable item is to use toggleController but unfortunately it doesn’t play well with a thermostat endpoint group. This is why I would still recommend using the Thermostat.thermostatMode capability I mentioned above. That way you can still ask Alexa if the thermostat is on (heat) or off (Alexa, is the bathroom thermostat on?).

If you don’t care about having that ability, then you don’t need to configure that item. If you are concern that Alexa thermostat mode command requests (Alexa, set bathroom thermostat to heat) will incorrectly update the item state then you can use a proxy item and set an item sensor to return the proper state. That way the command requests will discarded and the proper state will always be returned to Alexa.

Group BathroomThermostat "Bathroom Thermostat" {alexa="Endpoint.Thermostat"}
Number:Temperature BathroomTemperature "Temperature [%.1f °C]" (BathroomThermostat) {channel="draytonwiser:room:1adff779:WiserRoomBathroom:currentTemperature", alexa="TemperatureSensor.temperature"}
Number:Temperature BathroomSetPoint "Setpoint [%.1f °C]" (BathroomThermostat) {channel="draytonwiser:room:1adff779:WiserRoomBathroom:currentSetPoint", alexa="ThermostatController.targetSetpoint"}
Switch BathroomRequesting "Bathroom Requesting Heat" (BathroomThermostat) {channel="draytonwiser:room:1adff779:WiserRoomBathroom:heatRequest"}
Switch BathroomThermostatAlexaMode "Thermostat Alexa Mode" (BathroomThermostat) {alexa="ThermostatController.thermostatMode" [itemSensor="BathroomRequesting"], expire="1s"}

To avoid opening another topic:
My thermostat can either be set to AUTO, forced heating (HEAT) or OFF. So i’m using this approach:
Number AlexaTestHeatingMode "Heating" {alexa="ThermostatController.thermostatMode" [AUTO=8,OFF=2,HEAT=4]}
However i would also like to be able to use commands like “Turn heating ON” to set it to HEAT mode. It this possible?
I like the fact that Echo confirms the new state of the thermostat instead of just saying OK - this gives additional confidence that the command was understood.

I know that i could go with
Number AlexaTestHeatingMode "Heating" {alexa="ModeController.mode" [category="THERMOSTAT", supportedModes="8=Automatic:@Setting.Auto,2=Off:Night,4=On:Day:@Setting.Heat"]
However Alexa only confirms this with OK which i don’t like.

Is it possible to activate HEAT mode by using word ON when using ThermostatController.thermostatMode approach?
Any suggestions?

Hi All,
Im trying to control my Flureo thermostat with alexa. It discovers it just fine.

I can set the temperature with Alexa, but when I say turn on the Ensuite Floor, it says not supported.

How do I turn the floor on and set the temp in a single command? I thought it was possible


Group   Ensuite_Thermostat   "Ensuite Floor"                                                                                                            {alexa="Endpoint.Thermostat"}
Number  Ensuite_Temp         "Ensuite Current Temp [%.0f °C]"  (Group_HabPanel_Dashboard,grpTemp,Ensuite_Thermostat)               ["LRTemp"]           { channel="broadlink:floureonthermostat:192-168-0-229:roomtemperatureexternalsensor", alexa="TemperatureSensor.temperature" }
Number  Ensuite_Target_Temp  "Ensuite Floor [%.0f °C]"         (Group_HabPanel_Dashboard,grpTemp,grpTargetTemp,Ensuite_Thermostat) ["LRTargetTemp"]     { channel="broadlink:floureonthermostat:192-168-0-229:setpoint", alexa="ThermostatController.targetSetpoint" }
Switch  Ensuite_Room_Mode    "Ensuite Auto-Mode (ON/OFF)"      (Group_HabPanel_Dashboard)                                                               { channel="broadlink:floureonthermostat:192-168-0-229:mode" }
Switch  Ensuite_Room_Power   "Ensuite Floor"                   (Group_HabPanel_Dashboard,Ensuite_Thermostat)                                            { channel="broadlink:floureonthermostat:192-168-0-229:power", alexa="ThermostatController.thermostatMode"  [HEAT="HEAT"]}


Thanks!

I answered this question in this post:

Thanks Jeremy, it works for obtaining the temperature and setting the temperature, but if I say Alexa, set the ensuite floor to heat it doesnt support it.

Is my mapping incorrect?

Switch  Ensuite_Room_Power   "Ensuite Floor"                   (Group_HabPanel_Dashboard,Ensuite_Thermostat)                                            { channel="broadlink:floureonthermostat:192-168-0-229:power", alexa="ThermostatController.thermostatMode"  [HEAT="HEAT"]}

The mapping you configured is incorrect. The proper value is OFF="OFF",ON="HEAT". However, since you are using a Switch item, you technically don’t need to specify it, as it defaults to controlling a heater.

Thanks jeremy, that doesnt seem to still work even after deleting the device and readding it/rediscovery.

It says, ‘to turn on, please set a mode’


Group   Ensuite_Thermostat   "Ensuite Floor"                                                                                                            {alexa="Endpoint.Thermostat"}
Number  Ensuite_Temp         "Ensuite Current Temp [%.0f °C]"  (Group_HabPanel_Dashboard,grpTemp,Ensuite_Thermostat)               ["LRTemp"]           { channel="broadlink:floureonthermostat:192-168-0-229:roomtemperatureexternalsensor", alexa="TemperatureSensor.temperature" }
Number  Ensuite_Target_Temp  "Ensuite Floor [%.0f °C]"         (Group_HabPanel_Dashboard,grpTemp,grpTargetTemp,Ensuite_Thermostat) ["LRTargetTemp"]     { channel="broadlink:floureonthermostat:192-168-0-229:setpoint", alexa="ThermostatController.targetSetpoint" }
Switch  Ensuite_Room_Mode    "Ensuite Auto-Mode (ON/OFF)"      (Group_HabPanel_Dashboard)                                                               { channel="broadlink:floureonthermostat:192-168-0-229:mode" }
Switch  Ensuite_Room_Power   "Ensuite Floor"                   (Group_HabPanel_Dashboard,Ensuite_Thermostat)                                            { channel="broadlink:floureonthermostat:192-168-0-229:power", alexa="ThermostatController.thermostatMode"  [OFF="OFF",ON="HEAT"]}

So if I delete all the modes, it says ‘Ensuite floor is off, to turn it on, please set a mode’

My mistake. The mapping should be the other way round OFF="OFF",HEAT="ON".

same issue, if i say Alexa, set ensuite floor to 28 degrees she says its off, to turn it on, please set a mode

Switch  Ensuite_Room_Power   "Ensuite Floor"                   (Group_HabPanel_Dashboard,Ensuite_Thermostat)                                            { channel="broadlink:floureonthermostat:192-168-0-229:power", alexa="ThermostatController.thermostatMode" [OFF="OFF",HEAT="ON"] }

What’s the current state of Ensuite_Room_Power?

Right now, its on as it switched it on manually. But it wasn’t NULL before

smarthome:status Ensuite_Room_Power
ON
openhab>

The message “Ensuite floor is off, to turn it on, please set a mode” is generated when that item is set to OFF. This is the expected behavior.

OK, so how would I turn on the unit using Alexa?I need another item as a switch with power controller?

By making sure your item has the proper state. I just tested your item definition and it’s working as intended.

Im confused. So if the item is OFF and ive set a mode, i should be able to say alexa turn on the ensuite floor, right? without using a powercontroller

Alexa, what’s thermostatName set to?
It’s off.
Alexa, set thermostatName to 20
thermostatName is off. To turn it back on, please set a mode.
Alexa, set thermostatName to heat
It’s set to heat.
Alexa, set thermostatName to 20
The heat is set to 20.

1 Like

Right! now i’ve got it :wink: Thanks jeremy that all works

jeremy, final question. For a device like an AC unit, which has HEAT, COOL, ON etc. How does one switch it on and change the mode in one command, or can’t it be done? Previously, HEAT=ON for a heating only thermostat.

In the V3 doco, I cant see an ON for the thermostat mode, so I assume I can only use powercontroller to switch it on and therefore use a seperate utterance to turn it on and then change the mode?