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
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.
Right! now i’ve got it 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?