Skip to content

Commit 2497f0a

Browse files
committed
correct trig eval logic
1 parent 50a083a commit 2497f0a

File tree

1 file changed

+10
-13
lines changed

1 file changed

+10
-13
lines changed

custom_components/pyscript/trigger.py

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -795,21 +795,18 @@ async def trigger_watch(self):
795795
elif notify_type == "state":
796796
new_vars, func_args = notify_info
797797

798-
# if func_args is not fully populated, then we are state_check_now so skip changed check
799-
if all([(x in func_args) for x in ['value', 'old_value', 'var_name']]):
800-
# check for changes to ident vars
801-
if not self.ident_any_values_changed(func_args) and not self.ident_values_changed(func_args):
802-
# nothing changed so no need to evaluate trigger
798+
if not self.ident_any_values_changed(func_args):
799+
if not self.ident_values_changed(func_args):
803800
continue
804-
805-
if self.state_trig_eval:
806-
trig_ok = await self.state_trig_eval.eval(new_vars)
807-
exc = self.state_trig_eval.get_exception_long()
808-
if exc is not None:
809-
self.state_trig_eval.get_logger().error(exc)
801+
802+
if self.state_trig_eval:
803+
trig_ok = await self.state_trig_eval.eval(new_vars)
804+
exc = self.state_trig_eval.get_exception_long()
805+
if exc is not None:
806+
self.state_trig_eval.get_logger().error(exc)
807+
trig_ok = False
808+
else:
810809
trig_ok = False
811-
else:
812-
trig_ok = False
813810

814811
if self.state_hold_dur is not None:
815812
if trig_ok:

0 commit comments

Comments
 (0)