diff --git a/homeassistant/components/recorder/db_schema.py b/homeassistant/components/recorder/db_schema.py index 1fef18573ea..d614e3a28a6 100644 --- a/homeassistant/components/recorder/db_schema.py +++ b/homeassistant/components/recorder/db_schema.py @@ -242,15 +242,6 @@ class EventData(Base): # type: ignore[misc,valid-type] ")>" ) - @staticmethod - def from_event(event: Event) -> EventData: - """Create object from an event.""" - shared_data = json_bytes(event.data) - return EventData( - shared_data=shared_data.decode("utf-8"), - hash=EventData.hash_shared_data_bytes(shared_data), - ) - @staticmethod def shared_data_bytes_from_event( event: Event, dialect: SupportedDialect | None @@ -409,16 +400,6 @@ class StateAttributes(Base): # type: ignore[misc,valid-type] f" attributes='{self.shared_attrs}')>" ) - @staticmethod - def from_event(event: Event) -> StateAttributes: - """Create object from a state_changed event.""" - state: State | None = event.data.get("new_state") - # None state means the state was removed from the state machine - attr_bytes = b"{}" if state is None else json_bytes(state.attributes) - dbstate = StateAttributes(shared_attrs=attr_bytes.decode("utf-8")) - dbstate.hash = StateAttributes.hash_shared_attrs_bytes(attr_bytes) - return dbstate - @staticmethod def shared_attrs_bytes_from_event( event: Event, diff --git a/tests/components/recorder/test_models.py b/tests/components/recorder/test_models.py index cb656f6dde9..4edde76d957 100644 --- a/tests/components/recorder/test_models.py +++ b/tests/components/recorder/test_models.py @@ -7,6 +7,7 @@ import pytest from sqlalchemy import create_engine from sqlalchemy.orm import scoped_session, sessionmaker +from homeassistant.components.recorder.const import SupportedDialect from homeassistant.components.recorder.db_schema import ( Base, EventData, @@ -31,7 +32,8 @@ def test_from_event_to_db_event(): """Test converting event to db event.""" event = ha.Event("test_event", {"some_data": 15}) db_event = Events.from_event(event) - db_event.event_data = EventData.from_event(event).shared_data + dialect = SupportedDialect.MYSQL + db_event.event_data = EventData.shared_data_bytes_from_event(event, dialect) assert event.as_dict() == db_event.to_native().as_dict() @@ -55,7 +57,12 @@ def test_from_event_to_db_state_attributes(): {"entity_id": "sensor.temperature", "old_state": None, "new_state": state}, context=state.context, ) - assert StateAttributes.from_event(event).to_native() == attrs + db_attrs = StateAttributes() + dialect = SupportedDialect.MYSQL + db_attrs.shared_attrs = StateAttributes.shared_attrs_bytes_from_event( + event, {}, dialect + ) + assert db_attrs.to_native() == attrs def test_repr(): @@ -291,7 +298,8 @@ async def test_event_to_db_model(): "state_changed", {"some": "attr"}, ha.EventOrigin.local, dt_util.utcnow() ) db_event = Events.from_event(event) - db_event.event_data = EventData.from_event(event).shared_data + dialect = SupportedDialect.MYSQL + db_event.event_data = EventData.shared_data_bytes_from_event(event, dialect) native = db_event.to_native() assert native.as_dict() == event.as_dict()