diff --git a/app/apis/home_assistant_api.rb b/app/apis/home_assistant_api.rb index 78e6b2e..0716972 100644 --- a/app/apis/home_assistant_api.rb +++ b/app/apis/home_assistant_api.rb @@ -44,7 +44,7 @@ def problems end.compact unavailable_entity_problems = data - .select { _1[:state] == "unavailable" } + .select { _1[:state] == "unavailable" && Time.parse(_1[:last_updated].to_s) < 15.minutes.ago } .map do { icon: "triangle-exclamation", diff --git a/test/apis/home_assistant_api_test.rb b/test/apis/home_assistant_api_test.rb index bea2e8c..bc3c2a6 100644 --- a/test/apis/home_assistant_api_test.rb +++ b/test/apis/home_assistant_api_test.rb @@ -299,7 +299,7 @@ def test_problems_non_binary end def test_problems_unavailable - data = [{entity_id: "sensor.foo_bar", state: "unavailable"}] + data = [{entity_id: "sensor.foo_bar", state: "unavailable", last_updated: 30.minutes.ago}] api = HomeAssistantApi.new({}) api.stub :data, data do