alexa_media_player icon indicating copy to clipboard operation
alexa_media_player copied to clipboard

Amazon Thermostat reports incorrect temperature

Open Angelos59 opened this issue 1 year ago • 56 comments

I am able to see echo temperature entities correctly. In the process of updating the integration to do this via checking the box to include devices connected via echo, I also got entity temperatures for the amazon thermostats. This was unexpected but good, the issue is that the temperature is reported incorrectly. I have five of these thermostats and they all do the same. All the echos, I have four report temperature correctly.

Is your feature request related to a problem? Please describe. This is not a request to report a problem but if possible to enhance the integration to report the correct temperature for the amazon thermostats.

Describe alternatives you've considered I have multiple temperature sensors zigbee, echo, etc.

If you are able to do this also consider exposing the humidity reading on the amazon thermostat, if possible.

Thanks very much

Angelos59 avatar Mar 24 '23 00:03 Angelos59

I have observed this as well. It looks like it is converting the temperature from Celcius to Fahrenheit even though it is already in Fahrenheit.

argpravardhan avatar Mar 26 '23 06:03 argpravardhan

I have the same problem. i got aqara thermostat and alexa covert my Celcius temperature in Fahrenheit . I dont know why. With old thermostat worked all well.

AlexEr89 avatar Mar 28 '23 16:03 AlexEr89

Thanks, looks like we'll need a PR to address this use case. It can't be tied to a locale setting or I think HA may have changed the default temperature scale.

alandtse avatar Apr 09 '23 08:04 alandtse

Hello, Thanks for an answer. Do you need something from me ? Protocols or something else ? Thanks


From: Alan Tse @.> Sent: Sunday, April 9, 2023 10:43:58 AM To: custom-components/alexa_media_player @.> Cc: AlexEr89 @.>; Comment @.> Subject: Re: [custom-components/alexa_media_player] Amazon Thermostat reports incorrect temperature (Issue #1890)

Thanks, looks like we'll need a PR to address this use case. It can't be tied to a locale setting or I think HA may have changed the default temperature scale.

— Reply to this email directly, view it on GitHubhttps://github.com/custom-components/alexa_media_player/issues/1890#issuecomment-1501077517, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AYDICPMFOPVBZ7TY4YZ5CI3XAJZE5ANCNFSM6AAAAAAWF4CJPI. You are receiving this because you commented.Message ID: @.***>

AlexEr89 avatar Apr 09 '23 09:04 AlexEr89

This bug report has been labelled as help wanted since there has been no activity in the last 3 weeks. It will not be closed automatically.

github-actions[bot] avatar May 01 '23 02:05 github-actions[bot]

This issue is still present. Any fix please?

pravardhanreddy avatar Jun 23 '23 02:06 pravardhanreddy

This bug report has been labelled as help wanted since there has been no activity in the last 3 weeks. It will not be closed automatically.

github-actions[bot] avatar Jul 14 '23 02:07 github-actions[bot]

The integration still reports the incorrect temperature for Amazon thermostats. It reports kelvin when Fahrenheit is checked.

Angelos59 avatar Jul 14 '23 03:07 Angelos59

This bug report has been labelled as help wanted since there has been no activity in the last 3 weeks. It will not be closed automatically.

github-actions[bot] avatar Aug 06 '23 02:08 github-actions[bot]

Issue is still present

pravardhanreddy avatar Aug 06 '23 02:08 pravardhanreddy

This bug report has been labelled as help wanted since there has been no activity in the last 3 weeks. It will not be closed automatically.

github-actions[bot] avatar Aug 29 '23 02:08 github-actions[bot]

The issue has received no activity for 60 days and will be closed in a week.

github-actions[bot] avatar Oct 29 '23 02:10 github-actions[bot]

This bug report has been labelled as help wanted since there has been no activity in the last 3 weeks. It will not be closed automatically.

github-actions[bot] avatar Nov 21 '23 02:11 github-actions[bot]

The issue has received no activity for 60 days and will be closed in a week.

github-actions[bot] avatar Jan 21 '24 02:01 github-actions[bot]

I just wanted to chime in and say that this is happening to me as well. I'm in the US, and as such all of my Alexa devices and Amazon Thermostat are all set to use Fahrenheit. However, the Thermostat Temperature being reported through the Alexa Media Player shows as C, even though the temperature number is clearly in Fahrenheit. Furnace Thermostat Temperature - showing F as C

inger147 avatar Jan 24 '24 22:01 inger147

In addition to showing a Fahrenheit temperature as Celsius, I have also noticed that the temperature from my Amazon Thermostat is being rounded down to the nearest whole number, despite setting the temperature's display precision to use decimal places. In my above screenshot, you can see the temperature is shown as 64.0, but the temperature of the Echo in the same room is 64.8. No matter what temperature it is in my home, the thermostat temperature always shows .0 for the decimal precision, i.e., the actual temperature could be anywhere between 64.1 and 64.9, and the thermostat temperature will always show as 0 decimal precision (64.0) in Home Assistant. This makes it difficult to create precise automations based on the thermostat temperature.

inger147 avatar Jan 24 '24 22:01 inger147

This bug report has been labelled as help wanted since there has been no activity in the last 3 weeks. It will not be closed automatically.

github-actions[bot] avatar Feb 16 '24 01:02 github-actions[bot]

The issue has received no activity for 60 days and will be closed in a week.

github-actions[bot] avatar Apr 16 '24 02:04 github-actions[bot]

This issue has not been fixed yet - please do not close it.

inger147 avatar Apr 16 '24 17:04 inger147

This bug report has been labelled as help wanted since there has been no activity in the last 3 weeks. It will not be closed automatically.

github-actions[bot] avatar May 09 '24 02:05 github-actions[bot]

The issue has received no activity for 60 days and will be closed in a week.

github-actions[bot] avatar Jul 08 '24 02:07 github-actions[bot]

This issue has not been fixed yet, please do not close it.

inger147 avatar Jul 08 '24 02:07 inger147

@inger147 Are you able to change the unit of measurement from C to F by clicking on the sensor and editing settings? If you do that does it then display 147.2 F??

image

image

image

image

image

image

danielbrunt57 avatar Jul 25 '24 04:07 danielbrunt57

If it then displays a C to F converted value, I am initially thinking that Amazon is providing incorrect/different device settings info for that sensor from other sensors. It appears the the integration is simply setting up all temperature sensors based on info Amazon provides to the query and to somehow override for this device type likely won't be a trivial task. Unfortunately, I only have Echo's to test and play around with the code with. An HA debug log entry for that sensor being retrieved from Amazon as well as one for a sensor that's correct might help me see if something could somehow be coded to compensate.

async def create_temperature_sensors(account_dict, temperature_entities):
    """Create temperature sensors."""
    devices = []
    coordinator = account_dict["coordinator"]
    for temp in temperature_entities:
        _LOGGER.debug(
            "Creating entity %s for a temperature sensor with name %s",
            temp["id"],
            temp["name"],
        )
        serial = temp["device_serial"]
        device_info = lookup_device_info(account_dict, serial)
        sensor = TemperatureSensor(coordinator, temp["id"], temp["name"], device_info)
        account_dict["entities"]["sensor"].setdefault(serial, {})
        account_dict["entities"]["sensor"][serial]["Temperature"] = sensor
        devices.append(sensor)
    return devices

danielbrunt57 avatar Jul 25 '24 04:07 danielbrunt57

The temperature sensor in home assistant "Alexa Media Player" has been unavailable for several days.

Morpheus2018 avatar Jul 25 '24 08:07 Morpheus2018

@inger147 Are you able to change the unit of measurement from C to F by clicking on the sensor and editing settings? If you do that does it then display 147.2 F??

It is 77 degrees F this morning in my house; the Amazon thermostat temperature shows 77 C in Home Assistant. When I changed it to F in the settings, it showed 170.6 F until I changed it back. (My automations were not happy with that value - I started getting notifications that my house was on fire :))

inger147 avatar Jul 25 '24 12:07 inger147

The temperature sensor in home assistant "Alexa Media Player" has been unavailable for several days.

I noticed this too - to fix this I went to Settings/Integrations/Alexa Media Player/Configure, and check the box for "Include devices connected via Echo". I think one of the recent updates to Alexa Media Player caused this setting to become unchecked by default.

inger147 avatar Jul 25 '24 12:07 inger147

Unfortunately, I only have Echo's to test and play around with the code with.

I got my Amazon Thermostat essentially for free, because after I bought mine and installed it, I was able to get a rebate back from my gas/electric company that fully covered the cost I paid for it. YMMV, as I'm not sure if all utility companies offer this, but it might be worth looking into if you don't already have a smart thermostat.

inger147 avatar Jul 25 '24 12:07 inger147

I strongly suspect this is an Amazon related issue and I'm struggling to see how the integration is going to second guess what Amazon is telling it. If the native unit of measurement is in C (like my Nest thermostat is) but it can display that native measurement converted internally to F and it does not disclose that fact clearly to a connecting integration then we are SOL. All of this is compounded by the host device's native UOM vs displayed UOM. The integration can only assume that the connected device internal UOM matches the host device's internal UOM. If you are confused by now, you should be, I know I am! If the host device is reporting a value with internal UOM in C then the integration can only assume the connected device is as well.

I can rewrite the code segment above to log more debug info a little later like this but I don't know if it'll shed any light or not:

async def create_temperature_sensors(account_dict, temperature_entities):
    """Create temperature sensors."""
    devices = []
    coordinator = account_dict["coordinator"]
    for temp in temperature_entities:
        serial = temp["device_serial"]
        device_info = lookup_device_info(account_dict, serial)
        _LOGGER.debug(
            "Serial %s - Creating entity %s for temperature sensor %s; device_info: %s",
            serial,
            temp["id"],
            temp["name"],
            device_info
        )
        sensor = TemperatureSensor(coordinator, temp["id"], temp["name"], device_info)
        account_dict["entities"]["sensor"].setdefault(serial, {})
        account_dict["entities"]["sensor"][serial]["Temperature"] = sensor
        devices.append(sensor)
    return devices

danielbrunt57 avatar Aug 01 '24 07:08 danielbrunt57

It is 77 degrees F this morning in my house; the Amazon thermostat temperature shows 77 C in Home Assistant. When I changed it to F in the settings, it showed 170.6 F until I changed it back. (My automations were not happy with that value - I started getting notifications that my house was on fire :))

Can you try changing the Echo device from F to C and advise what the connected thermostat then shows? Change Temperature Unit on Your Echo Dot with clock ..

danielbrunt57 avatar Aug 01 '24 07:08 danielbrunt57