Giter VIP home page Giter VIP logo

Comments (13)

IATkachenko avatar IATkachenko commented on August 23, 2024 3

Посмотрел.
Изменения, действительно, откачены, продвижения в этом направлении пока нет и не предвидится.
Так что у нас развязаны руки.

Предлагаю такое решение:

  • в weather компоненте отдавать давление в hPa, но без указания единицы измерения;
  • в сенсоре -- с единицами. (сенсор с давлением в mmHg не трогаем).

В этом случае на карточках будет отображаться правильное давление, а в атрибутах weather.yanex_weather -- в 100 раз меньшее. Сенсор же будет отдавать правильное числовое давление с указанием правильных единиц (hPa).

Поставьте, пожалуйста, +1 emoji этому комментарию, если вам такое решение подходит.

ps. tagging for notification: @BertTomsk, @bastshoes, @fufar, @alexls74

from ha-yandexweather.

IATkachenko avatar IATkachenko commented on August 23, 2024 1

Починив так мы ломаем в другом месте: если нажать на карточку погоды, то HA показывает погодные данные.
Там будет:
1003,9 Pa
1004 Pa
99900 Pa
Плюс везде внутри используется именно приведенное давление, в системных единицах.

Чинить проблему отображения данных в карточке (которая не учитывает единицы, в которых ей отдается давление) изменением исходных данных -- очень плохая идея.

Как минимум по тому, что данные в систему визуализации отдаются корректные.

Ну и для полноты картины: HA сейчас идет по нашему пути (home-assistant/core#61471 home-assistant/core#61469) чтобы везде были системные единицы. После того как все core интеграции будут вести себя корректно, думаю, накатят фикс и для карточки.

from ha-yandexweather.

bastshoes avatar bastshoes commented on August 23, 2024 1

Спасибо за ответы!

from ha-yandexweather.

IATkachenko avatar IATkachenko commented on August 23, 2024

С отображением давления -- это в Home Assistant core идти надо.
Проблем есть целых три:

  1. мм рт. столба, по мнению Home Assistant не является единицей давления
  2. единицы при отображении приводятся к системным, а системная единица давления -- Паскаль. Даже не гекто-паскаль
  3. UI рисует что ему взбредет в голову и не ориентируется на то что HA отдал давление в системных единицах.

И в районе HomeAssistnat core про это есть очень интересные дискуссии :)

Так что сделать что-то нельзя. Но за ситуацией я слежу и как-только будет возможноть что-то сделать -- обязательно сделаю.

ps. Если вы откроете погодную карточку, как на первом скрине, для gismeteo, то увидите что на ней давление 1000 Pa, что немного маловато ;)

from ha-yandexweather.

IATkachenko avatar IATkachenko commented on August 23, 2024

Прогно -- будет в ближайшее время. Не все сразу :) Но Яндекс отдает прогно на 2 интервала (условно день и вечер), так что почасового или на неделю из него добыть нельзя. По крайней мере на бесплатном тарифе.

from ha-yandexweather.

IATkachenko avatar IATkachenko commented on August 23, 2024

И да, обратите внимание еще на скорость ветра, когда она больше нуля будет. Там тоже такой же бардак.

from ha-yandexweather.

alexls74 avatar alexls74 commented on August 23, 2024

Не корректно отражается давление в атрибутах, в сенсоре всё корректно и хотелось бы возможность его выводить в мм рт. ст.

С давлением в мм рт. ст. Очень давняя тема. Лучше не ждать, а добавить сенсор/конвертер.

 pressure_mmhg_weather:
      friendly_name: "Давление"
      unit_of_measurement: 'mmHg'
      value_template: "{{ (states('sensor.yandex_weather_pressure')|float(default=0) * 0.7500637)|round(0) }}"
      icon_template: mdi:gauge

from ha-yandexweather.

fufar avatar fufar commented on August 23, 2024

может можно отдавать как-то по другому в ha данные, напремер поделив на 1000 чтобы получить аналогично с другими погоднями сервисами данные? на картинке g- gismeteo, a-accuweather, y-yandex
image

from ha-yandexweather.

bastshoes avatar bastshoes commented on August 23, 2024

Компонент weather отображает давление в hPa. Соответственно давление нужно приводить к этой величиен.

https://developers.home-assistant.io/docs/core/entity/weather

from ha-yandexweather.

IATkachenko avatar IATkachenko commented on August 23, 2024

@bastshoes, именно это интеграция и делает:

from ha-yandexweather.

bastshoes avatar bastshoes commented on August 23, 2024

Да, это я посмотрел. По идеи все должно работать. Но компонент погоды "чудит".
Для чего давление в атрибутах делится на 100? https://github.com/IATkachenko/HA-YandexWeather/blob/26d9036b1117aea8b43dca38136f015e0c7fe68f/custom_components/yandex_weather/weather.py#L83

Мне кажется на уровне домена еще проходят какие-то преобразования величины.

from ha-yandexweather.

IATkachenko avatar IATkachenko commented on August 23, 2024

@bastshoes, этот блок отвечает за восстановление состояния при перезапуске HA. В машине состояний HA хранит давление в системных единицах и при восстановлении давление восстанавливается в Паскалях. Соответственно, его нужно сконвертировать в гПа, с которыми мы работаем.

Интеграция работает корректно, ровно по той логике, которую от нее ожидает backend HA.
На текущем этапе развития HA есть несогласованность того как работает frontend и backend HA: карточки погоды, которые визуализируют информацию, никак не учитывают то, в каких единицах backend отдает данные, а backend уже учитывает. Поэтому видны все эти расхождения и проблемы.

from ha-yandexweather.

IATkachenko avatar IATkachenko commented on August 23, 2024

Полазал внимательно по коду HA -- они, в итоге, откатили все измеенния с конвертированием единиц, так что и мне надо пересмотреть происходящее.

from ha-yandexweather.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.