From be61009030a93281e133cbfb2bcd83f7913f60a9 Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Thu, 7 Oct 2021 22:23:23 +0200 Subject: [PATCH] Correct SQL query generated by get_metadata_with_session (#57225) Co-authored-by: Franck Nijhof --- homeassistant/components/recorder/statistics.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/recorder/statistics.py b/homeassistant/components/recorder/statistics.py index 7b7e349b843..d253d1e2275 100644 --- a/homeassistant/components/recorder/statistics.py +++ b/homeassistant/components/recorder/statistics.py @@ -13,6 +13,7 @@ from sqlalchemy import bindparam, func from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.ext import baked from sqlalchemy.orm.scoping import scoped_session +from sqlalchemy.sql.expression import true from homeassistant.const import ( PRESSURE_PA, @@ -396,9 +397,9 @@ def get_metadata_with_session( StatisticsMeta.statistic_id.in_(bindparam("statistic_ids")) ) if statistic_type == "mean": - baked_query += lambda q: q.filter(StatisticsMeta.has_mean.isnot(False)) + baked_query += lambda q: q.filter(StatisticsMeta.has_mean == true()) elif statistic_type == "sum": - baked_query += lambda q: q.filter(StatisticsMeta.has_sum.isnot(False)) + baked_query += lambda q: q.filter(StatisticsMeta.has_sum == true()) result = execute(baked_query(session).params(statistic_ids=statistic_ids)) if not result: return {}