From 1e38d7f3a44b50de11fab44b985c2741eb5d4a6b Mon Sep 17 00:00:00 2001 From: Jason <37859597+zachowj@users.noreply.github.com> Date: Thu, 9 Dec 2021 01:19:16 -0800 Subject: [PATCH] fix(events-state): Check if state property exists before accessing it Closes #525 --- src/controllers/EventsState.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/controllers/EventsState.js b/src/controllers/EventsState.js index 694bf4129c..3a691b5577 100644 --- a/src/controllers/EventsState.js +++ b/src/controllers/EventsState.js @@ -241,6 +241,8 @@ class EventsState extends EventsHaNode { } isEventValid(evt) { + const oldState = selectn('event.old_state.state', evt); + const newState = selectn('event.new_state.state', evt); if ( !shouldIncludeEvent( evt.entity_id, @@ -249,13 +251,13 @@ class EventsState extends EventsHaNode { ) || (this.nodeConfig.ignorePrevStateNull && !evt.event.old_state) || (this.nodeConfig.ignorePrevStateUnknown && - evt.event.old_state.state === 'unknown') || + oldState === 'unknown') || (this.nodeConfig.ignorePrevStateUnavailable && - evt.event.old_state.state === 'unavailable') || + oldState === 'unavailable') || (this.nodeConfig.ignoreCurrentStateUnknown && - evt.event.new_state.state === 'unknown') || + newState === 'unknown') || (this.nodeConfig.ignoreCurrentStateUnavailable && - evt.event.new_state.state === 'unavailable') + newState === 'unavailable') ) { return false; }