Alexa Thermostat will not allow setpoint greater than 99 F

Trying to control my SPA thermostat from Alexa but it will not support max range of 104. If I set the temp to 104 it will display the setpoint in the alex app and I can lower it to 103 but I can not raise it in the Alexa App if the setting is 99 or higher.

value: ThermostatController.targetSetpoint
  scale: Fahrenheit
  setpointRange: 36:104

Just a thought… as a workaround, can you use Centigrade? That ought to give you enough headroom. :slight_smile:

Why use that when you have openHAB available to do it ?

I thought about that but will Alexa do the conversion. If a user asks Alexa to set the Spa to 103 will Alexa convert that to 39.4 and set the thermostat that way. The ultimate question is where is the issue? The Openhab plugin or the Alexa framework. If the Alexa SDK is only allowing up to 99 F it seems reasonable to open a request to them to allow higher temperature to cover this use case.

I did some testing and the issue is coming from the Alexa SMAPI. Basically requesting a target temperature above 100 degrees, no matter the unit, is triggering a bug on the Alexa end. You can only request up to 100 by voice and you can’t increase temperature above 100 in the app.

For now, as @leif suggested, you can ask the temperature in Celsius and the skill will automatically convert the requested temperature in Fahrenheit. For example, when requesting Alexa, set temperature to 40C, a command for 104F will be sent to your openHAB server.

I have opened an issue case with the Alexa Developer support.

1 Like

The other thought I had was to use a RangeController instead of ThermostatController

I haven’t tested but that’s probably another way around this although you would lose the app thermostat integration.

Amazon came back to me confirming they added a hard cap at 100 degrees of what they consider high temperature for a standard thermostat, and suggested using the RangeController interface instead.

While I made the case for handling temperature scale and have that cap pushed to 212°F (100°C), I realized that the thermostat integration in the Alexa app is only supported if using the thermostat display category.

So, you actually provided the recommended answer to your issue in using RangeController to control water temperature.

Can’t get it working as a Range controller :frowning:

“Alexa set spa thermostat temperature to 101” does not work

value: RangeController.rangeValue
  supportedRange: 36:104:1
  unitOfMeasure: Temperature.Fahrenheit
  friendlyNames: "@Setting.Temperature"

I just run a test on my end and it’s working. Have you triggered an Alexa discovery after making these config changes? How is the “spa thermostat” item configured? Also, check your voice history to confirm what was understood.

Here is the thermostat config

This is what I see in Alexa

Did you also configure the current spa temperature item for Alexa? If so, could you provide the metadata configuration?

You can also try to delete your spa thermostat device from your Alexa account and rediscovery it. I have seen sometimes devices getting in a weird state on the Alexa end when changing the display category and capabilities.

So that’s what I expected. There seems to be a conflict between the TemperatureSensor and RangeController interface. Can you try to set @Setting.WaterTemperature asset id instead on your setpoint item?

@Lee_Ballard I finally got some time to test this one further and I was able to test your initial setup successfully. Did you try to delete and rediscover your spa thermostat device?


Group gSpa "Spa" {alexa="Endpoint.Other"}
Number SpaTemperature "Temperature [%.1f °F]" (gSpa) {alexa="TemperatureSensor.temperature"}
Number SpaSetpoint "Setpoint [%.1f °F]" (gSpa) {alexa="RangeController.rangeValue" [friendlyNames="@Setting.Temperature", supportedRange="36:104:1", unitofMeasure="Temperature.Fahrenheit"]}

Alexa, what’s the Spa temperature?
Alexa, what’s the Spa temperature set to?
Alexa, set the Spa temperature to 102.