No announcement yet.

BUG: Global Variables problem with quickly executed sequential events

  • Filter
  • Time
  • Show
Clear All
new posts

    BUG: Global Variables problem with quickly executed sequential events


    I have several events using ETs global variables and noticing, specially on Door Locks. Looks like the data is flushed too quickly for HS3 to process when there are events that occur within a second or so of each other? My PC is an I7 with a 12k benchmark... super fast so not a PC problem.

    For instance...

    simple 2 line Event using ET DoorLockAccess group::
    IF Any device in group DoorLockAccess has its value changed
    Pushover $$GLOBALVAR:ETDeviceLocation1: - $$GLOBALVAR:ETDeviceStatus: - $$GLOBALVAR:ETDeviceValue:

    ET is capturing/sending data (living room motion) which occurs seconds after I entered the door I just unlocked? (screenshot attached) I do not have a motion event that send that data, never have had that. Also, you'll notice the event just prior, with the same time stamp, is the old event that uses the actual device (not ET) works as expected.

    You can also see it happened with Garage Motion... which, again, I dont have any event for that. Its being sent through the same door lock event.
    Attached Files

    there is only one set of global variables, so if you have several events (event1 and event2) that can update the global variables and those events are triggered at almost the same time, then yes trigger from event2 could overwrite the global variables before action from event1 has completed
    same thing if the same event is triggered several times in row at almost the same time.


      ... then, in many situations the global variables not usable, at all. Extensive home automation systems will almost always have more than two or more events which trigger in quick succession.

      Can you change them so the variables are tied to a specific event? In a different HA system, I used to be able to create a variable inside the event, populate the value, then use it anytime, and could change the value at any time. It lived until a system reboot or it was killed (made Null)

      Example Event...

      IF Any Device in GroupA changes
      THEN Create Variable $$GLOBALVARevA_Value: = $$GroupA:ChangedValue: