Alexa mis-reads Hygrometer/Temperature sensors

Hi Everyone,

I’m trying to connect Zigbee Hygrometer/Temperature sensors to Homey Pro and then have Alexa access them to be able to respond to voice requests (ie: Alexa, what is the temperature in the office?).

I’ve run into a problem with 2 separate sensors having the same issue - first was a Thirdreality one, and now I’m trying (same problem) with a Sonoff one.

The problem - Both sensors report humidity perfectly in Homey AND Alexa. Both sensors report Temperature correctly in Homey, but NOT in Alexa.

Alexa reports very high number for Temperatures. What I’ve discovered is - Alexa is reading the Fahrenheit number, thinking it is Celsius, converting that number to Fahrenheit and then reporting the incorrect number when it SHOULD be simply taking the Fahrenheit number and reporting it.

I can’t find any setting in Homey or in Alexa to solve this issue.

Any help appreciated.

  • Ron Donofero
4 Likes

This is what app developers are ought to do:

In theory, Alexa should read the temps from Homey in °Celsius, if your location uses °Celsius in general.
What’s the standard unit in your country?

You can convert the “Alexa thinks it’s °F” values to “°C values for Alexa”, with use of an advanced virtual device;
Then you should have that virtual device report to Alexa, instead of the original device.

Result example:
Left: sensor °C,
Right: virtual sensor with the “Alexa thinks it’s °F” values converted to “°C values for Alexa” :

Setting:

BLL expression used:
Math.round(5/9*($value-32))
No flows needed! It gets calculated with every temperature value update.

Note: You’ll need to install the Better Logic app as well for this to function

1 Like

I’m in the USA - we use Fahrenheit. Well - until the developers fix this issue (and yes, I still consider it an issue) I believe your work around will solve it for me. Thank you very much for that.

  • Ron
2 Likes

No problem! I hope one day there will be user changeable units, like the ones for temperature and distance.
The idea to automatically determine them, based on your location is nice, but it’s just too generic to have it “carved in stone forever”.

I have the same issue where the Aqara temp sensor displays the temperature on Homey in Fahrenheit (I’m in the USA) but Alexa reports the temp in Celsius. I created the virtual device on Homey using AVD and BLL as shown. Alexa still reports in Celsius. What am I’m missing? The temp is displayed in °F on Homey without the virtual device. It seems the virtual device would need to be on the Alexa side to make the conversion?

Try using this formula: Math.round(($value)-32)/1.8)

And then put in °F instead of °C for the units field.

Hope that helps…

  • Ron

@Ron_Donofero Thanks for helping out an new Homey user to create a workaround for Aqara sensors connected to Alexa via Homey. After some experimentation, I found the formula Math.round(5/9*($value-32)) and using °F in the units field displays Fahrenheit over on Alexa and Alexa responds to verbal requests.

Homey:

  • Create AVD for each T/H sensor. Setup as noted.
  • Create new Zone for virtual temperature devices. The only purpose of these AVDs is to report temps in Alexa.
  • Set Exclude from Climate in Advanced Settings for each sensor.

Alexa:
The Aqara T/H sensors connected via Homey don’t report temperatures. The AVD is a workaround.

  • Discover the virtual T/H devices.
  • Change name to the name you wand Alexa to recognize for a verbal request like “Alexa, what is the temperature in the living room”.
  • Delete the non-virtual temperature sensors. (hopefully these won’t come back with new device discoveries.

Question: How can I duplicate an AVD and then just point to a different T/H sensor? A pointer would be much appreciated.

Follow this howto, until, but including the point to create a TEF (The Exchanger File);
Then, copy the complete TEF (it’s a veeery long string!):
https://community.homey.app/t/share-your-device-advanced-virtual-devices-from-device-capabilities/68676/2

With the TEF in the clipboard, navigate to a temporary* zone,
add a new AVD,
and then select “importing a TEF”:

then, just follow instructions.

*) I always add a cloned AVD to an other zone, because otherwise I can’t discover which is the original, and which is the clone

1 Like

Again THANKS @Peter_Kawa. Even though with my Homey naiveté, I wasn’t able to find the link that you sent, I was able to duplicate my AVD right before your posting. Since I had gone in cycles for the last couple of days with something that should have been simple, I took what I learned along with your input and posted some instructions as a comment under the link.

1 Like

Ok … Sorry, I need more help and words of encouragement here.
SITUATION SUMMARY:

  • Aqara T/H sensors connected MP23.
  • Don’t display directly on Alexa and reports temp in °C.
  • Created AVDs to show temp (°F) and humidity (%).
  • Looks great on the Homey side.
    PROBLEM STATEMENT:
  • The AVDs don’t show up as devices in Alexa.
    THINGS TRIED:
  • Restart Homey and Alexa apps
  • Disable and Enable Alexa Homey skill
  • Restart (Not reset) Homey with power off/on

Any ideas greatly appreciated.

Two things come to mind.

First - After you’ve created the device, did you tell Alexa to “Discover my devices”?

Second - Make sure in the homey app under Alexa, you don’t have the device excluded - it shouldn’t be by default, but you might want to check.

Hope that helps…

  • Ron

Thanks Ron for jumping. I’m missing something. Add these to the THINGS TRIED list:

  • Checked to make sure devices are not excluded in the Homey app under Alexa.
  • Master RESET Homey and restored from backup.
  • Tried and retried to Discover new devices

The AVDs don’t show up on Alexa devices.

By the way, the Aqara T/H sensors (not the AVDs) appear like this in the Alexa app (note No Temp listed):