HA-YandexWeather
HA-YandexWeather copied to clipboard
Нужно ограничение на количество неудачных запросов.
Да, и еще (для Игоря) у меня за несколько часов интеграция съела все 50 запросов от Яндекса.
Похоже, что когда возникает подобная ошибка, интеграция ломится в Яндекс и сжирает весь лимит 50 запросов в день.
Originally posted by @alexanderznamensky in https://github.com/IATkachenko/HA-YandexWeather/issues/70#issuecomment-1492852330
@alexanderznamensky, А можно по подробнее? У меня в логе интеграция исправно раз в полчаса крашилась?
Игорь, добрый день.
На двух серверах превышено количество запросов (это я по Яндексу определил).
Чтобы я вам опять много лишней инфы не отправил, скажите, пож, что нужно посмотреть?
У меня было такое же, но это из-за того что я много раз перезагружал интеграцию и редактировал код в экспериментах. А так оно стабильно крашилось раз в пол часа.
@alexanderznamensky, я даже не представляю как можно попробовать отладиться... по идее у вас в логах должны быть ошибки от интеграции при обновлении данных с интервалом меньшем, чем интервал обновления (30 минут, если использовать дефолтные 48 запросов в сутки). Я попробую на стенде привнести ошибок в процесс, чтобы посмотреть, но пока я не очень понимаю как у вас это получилось. Версия одна (и ее планирую проверять) -- перезапуск ХА при отсутствии сохраненных данных и ошибках в процессе обновления (см ниже).
@heggi, у интеграции работает такой механизм: при перезапуске пытаемся взять сохраненные данные, если не получилось или они слишком старые -- идем обновлять. А дальше просыпается механизм ХА: интеграция не справилась стартануть -- попробуем еще раз. Поэтому ваше поведение вполне логичное: сохраненных данных нет, обновляемся при каждом перезапуске до посинения. Защищаться нужно, видимо, от этого...
Нет, HA не пробовал перезапускать интеграцию при неудачном старте. Это я сам ее перезапускал, когда пытался заставить измененный код работать (не силен в питоне, пришлось с помощью гугла и какой-то матери понимать что там происходит). Так что если интеграцию не трогать (не перезагружать), поведение получаем вполне логичное и предсказуемое.
Он это в фоне, обычно, делает. В логе там строчка вида: стартануть не получилось -- продолжаем пробовать в фоне.
В любом случае, спасибо за наводку и сценарии катастроф -- погоняю у себя.
я думаю, что виной может являться моя автоматизация, которая раз в 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