home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
73.74k stars 30.85k forks source link

Tomorrow.io shows incorrect pressure value #73085

Closed DirkMu closed 2 years ago

DirkMu commented 2 years ago

The problem

Tomorrow.io shows incorrect pressure value. Instead of 1014.63 hPa it shows 101463 hPa.

image image

What version of Home Assistant Core has the issue?

core-2022.6.2

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Core

Integration causing the issue

Tomorrow.io

Link to integration documentation on our website

https://www.home-assistant.io/integrations/tomorrowio/

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

probot-home-assistant[bot] commented 2 years ago

tomorrowio documentation tomorrowio source (message by IssueLinks)

probot-home-assistant[bot] commented 2 years ago

Hey there @raman325, @lymanepp, mind taking a look at this issue as it has been labeled with an integration (tomorrowio) you are listed as a code owner for? Thanks! (message by CodeOwnersMention)

lymanepp commented 2 years ago

@raman325 is this related to https://github.com/home-assistant/core/issues/68281 and thus https://github.com/home-assistant/architecture/discussions/772?

raman325 commented 2 years ago

yes, the metric system defines the pressure unit as Pa which you divide by 100 to get hPa. We provide hPA as input and the unit system converts the pressure unit to Pa which means that it then shows as 100x the original value, but the card still shows hPA. I think either the frontend logic needs to be updated to match the unit systems in use in the core or the unit system needs to be updated in the core to match the unit system as defined in the frontend

raman325 commented 2 years ago

@DirkMu are you using a custom weather card? It looks like it makes some assumptions about units that aren't valid

raman325 commented 2 years ago

I'm guessing it's this card, and this is where the units are hard coded: https://github.com/bramkragten/weather-card/blob/master/dist/weather-card.js#L333-L347

It seems that some weather integrations do their own unit conversions which is why you see one value for one integration and another for the tomorrowio integration

DirkMu commented 2 years ago

Hi @raman325. I don't tink this is related to the custom weather card. If I compare the data of the different weather platforms in developer tools I can see that for tomorrow.io pressure is provided in 100000 whereas for dark sky it is 1000. If I divide the tomorrow.io pressure value by 100 it is the correct value. image image

raman325 commented 2 years ago

It is. If you were to put the tomorrowio entity into the weather card that is provided by HA it would show the unit as Pa. That custom card hard codes the unit to hPa and inHg, and the dark sky integration provides values in hPa and inHg, but if you were to put the dark sky entity into a standard weather card it would mistakenly show the unit as Pa. There is an inconsistency between what's been documented and what's been implemented, and the end result is this. A decision has to be made related to the architecture item linked above

lymanepp commented 2 years ago

Note that the wind speed is also wrong due to this issue. Hopefully the core developers will make an architectural decision soon as this has been broken for months now.

MatthewFlamm commented 2 years ago

https://github.com/home-assistant/core/pull/59533 broke the entity model. I think it should be reverted.

raman325 commented 2 years ago

with the latest release this should be resolved, and if not you can change the measurements that are being used. Please confirm @DirkMu ?

DirkMu commented 2 years ago

Yes, it is resolved. Thanks