HA-YandexWeather icon indicating copy to clipboard operation
HA-YandexWeather copied to clipboard

Нужно ограничение на количество неудачных запросов.

Open IATkachenko opened this issue 1 year ago • 7 comments

Да, и еще (для Игоря) у меня за несколько часов интеграция съела все 50 запросов от Яндекса. 
Похоже, что когда возникает подобная ошибка, интеграция ломится в Яндекс и сжирает весь лимит 50 запросов в день.

Originally posted by @alexanderznamensky in https://github.com/IATkachenko/HA-YandexWeather/issues/70#issuecomment-1492852330

IATkachenko avatar Apr 01 '23 10:04 IATkachenko

@alexanderznamensky, А можно по подробнее? У меня в логе интеграция исправно раз в полчаса крашилась?

IATkachenko avatar Apr 01 '23 10:04 IATkachenko

Игорь, добрый день.

На двух серверах превышено количество запросов (это я по Яндексу определил). image

Чтобы я вам опять много лишней инфы не отправил, скажите, пож, что нужно посмотреть?

alexanderznamensky avatar Apr 01 '23 10:04 alexanderznamensky

У меня было такое же, но это из-за того что я много раз перезагружал интеграцию и редактировал код в экспериментах. А так оно стабильно крашилось раз в пол часа.

heggi avatar Apr 01 '23 12:04 heggi

@alexanderznamensky, я даже не представляю как можно попробовать отладиться... по идее у вас в логах должны быть ошибки от интеграции при обновлении данных с интервалом меньшем, чем интервал обновления (30 минут, если использовать дефолтные 48 запросов в сутки). Я попробую на стенде привнести ошибок в процесс, чтобы посмотреть, но пока я не очень понимаю как у вас это получилось. Версия одна (и ее планирую проверять) -- перезапуск ХА при отсутствии сохраненных данных и ошибках в процессе обновления (см ниже).

@heggi, у интеграции работает такой механизм: при перезапуске пытаемся взять сохраненные данные, если не получилось или они слишком старые -- идем обновлять. А дальше просыпается механизм ХА: интеграция не справилась стартануть -- попробуем еще раз. Поэтому ваше поведение вполне логичное: сохраненных данных нет, обновляемся при каждом перезапуске до посинения. Защищаться нужно, видимо, от этого...

IATkachenko avatar Apr 01 '23 17:04 IATkachenko

Нет, HA не пробовал перезапускать интеграцию при неудачном старте. Это я сам ее перезапускал, когда пытался заставить измененный код работать (не силен в питоне, пришлось с помощью гугла и какой-то матери понимать что там происходит). Так что если интеграцию не трогать (не перезагружать), поведение получаем вполне логичное и предсказуемое.

heggi avatar Apr 01 '23 17:04 heggi

Он это в фоне, обычно, делает. В логе там строчка вида: стартануть не получилось -- продолжаем пробовать в фоне.

В любом случае, спасибо за наводку и сценарии катастроф -- погоняю у себя.

IATkachenko avatar Apr 01 '23 17:04 IATkachenko

я думаю, что виной может являться моя автоматизация, которая раз в 30 минут ее перезапускает:

  - id: "Перезагрузка интеграции Yandex Weather"
    alias: "reload_yandex_weather"
    initial_state: true
    trigger:
      - platform: time_pattern
        minutes: '/30'
    condition:
      - condition: state
        entity_id: weather.yandex_weather
        state: 'unavailable'
    action:
     - service: homeassistant.reload_config_entry
        data: {}
        target:
          device_id: b2ddcdca6887819edc8e6ad4fa0ccc19
    mode: single

alexanderznamensky avatar Apr 01 '23 18:04 alexanderznamensky