Announcement

Collapse
No announcement yet.

HS3 Counters and Timers

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #91
    Originally posted by rprade View Post
    Paul;

    Your events will work fine.

    Just one point, an OR IF will not work because IF and OR IF triggers within an event must share common actions, there is no way to branch to different actions within a single event.


    Another possibility is to use your "'Firing' mode (virtual status)" device, for example:

    If 'Firing' mode (virtual status) has been ON for exactly 30 seconds
    THEN set siren to ON.
    Thanks so much Randy.

    Though sound, this wouldn't work for me as I essentially maintain the virtual status 'Alarm Firing' (used for visual notification) throughout the status, but actually turn the physical siren off after 1 second then reactivate after the 30sec 'grace' or waiting period. This gives me a quick chirp that alarm has been triggered and allows 30 secs to deactivate if applicable.

    As above I believe I have my solution, but again am fairly sure the Timer check/value/status is ignored by HS3.

    Cheers all...

    Comment


      #92
      Originally posted by pkitch View Post
      Thanks Sooty, this is exactly they way I have it set...

      Event 2, (triggered by Event 1 after 30 sec wait) just simply ignores the Timer status and executes regardless. The logic is sound, I just think HS3 has a bug and ignores the status... Version 3.0.0.280.

      Now since writing this (this has been a long term hurdle but just posted today after some fresh testing), I decided to try a slightly different approach using a counter.
      Now the Firing event (event 1) increments the Counter to '1' and event 2 that runs after 30 sec wait checks and executes if value is '1'.
      'Disarming' within the 30 second window resets the counter to '0'.

      Essentially the same logic and I am happy to say this works, but I also revalidated that the Timer variant does not.

      I have my solution and thanks for the assistance, curious to know if somehow I fudged the Counter approach and if so how...
      Just to clarify:
      The events I proposed do not call other events with delayed actions.

      EVENT 3 uses the timer value as it's trigger which should never happen in normal use. This works perfectly here and the event is always triggered when the timer reaches the value.

      A more correct representation might be:

      EVENT 1:
      IF Virtual Alarm Device changes and becomes Firing Mode
      THEN Switch Siren ON
      THEN Switch Siren OFF after 1 Second
      THEN Set Timer to 0 (Just to make sure we're starting at 0)
      THEN Start Timer

      EVENT 2:
      IF Virtual Alarm Device changes and becomes Disarmed
      THEN Stop Timer
      THEN Set Timer to 0

      EVENT 3:
      IF Timer value is more than 30s
      THEN Switch Siren(s) ON
      THEN Stop Timer
      THEN Set Timer to 0

      Paul..

      Comment


        #93
        Originally posted by sooty View Post
        Just to clarify:
        The events I proposed do not call other events with delayed actions.

        EVENT 3 uses the timer value as it's trigger which should never happen in normal use. This works perfectly here and the event is always triggered when the timer reaches the value.

        A more correct representation might be:

        EVENT 1:
        IF Virtual Alarm Device changes and becomes Firing Mode
        THEN Switch Siren ON
        THEN Switch Siren OFF after 1 Second
        THEN Set Timer to 0 (Just to make sure we're starting at 0)
        THEN Start Timer

        EVENT 2:
        IF Virtual Alarm Device changes and becomes Disarmed
        THEN Stop Timer
        THEN Set Timer to 0

        EVENT 3:
        IF Timer value is more than 30s
        THEN Switch Siren(s) ON
        THEN Stop Timer
        THEN Set Timer to 0

        Paul..

        Hi Sooty,

        Thanks - this is exactly the sequence I had. It just simply ignores the conditions at the second check.

        I have found a work around by just incrementing a counter instead and this works. Instead of a Timer value, I now reference the Counter being '1' being the condition and this works fine.

        Comment

        Working...
        X