Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


  • 0

Subtle bug in HC3 scenes


Bob Winter

Question

I’ve had a look on the forum to see if this issue has been raised before but I can’t find any reference to it.


I have two very simple scenes that share a single PIR device trigger, one turns on a hall light after sunset and uses fibaro.setTimeout to turn it off again after 5 minutes, that scene is set not to restart a running scene (so the hall light never comes on longer than 5 minutes). The other scene simply warns me if the grandchildren venture out of the playroom and into the hall, it blinks a light in my study every time the PIR triggers. A short time ago I move the code to new scenes, and suddenly the scene that blinked the light in my study, stopped working when the other scene had turned on the hall light.


It blinked once when the PIR first triggered and turned on the two scenes, but wouldn’t trigger again until the other scene turned off the hall light, no matter how many time the PIR triggered.


After running some tests I found that where scenes share a common trigger device or global, if one scene has a delay programmed into the LUA script, and is set not to restart when running, it will lock out the common trigger (after the first initial trigger to start the scenes) from triggering any other scene with a higher scene ID number, until the delay ends and the scene terminates. If the scene numbers are reversed it works normally as expected with no locking out.


So if I have a PIR triggering scene ID-12 which has a 5 minute delay and is set not to restart a running scene, and that same PIR triggers scene ID-13 which has no delay and just flashes a bulb, it won’t work as expected. The PIR will trigger both scenes initially, but any PIR trigger after that will not trigger scene 13 to flash the bulb during the 5 minutes scene 12 is running to keep the hall light on.
If the scene ID’s are reversed, with scene 13 having the 5 minute delay and no restart, then scene 12 will trigger every time the PIR triggers


It’s a subtle bug which seems to only shows up if scenes use a delay and are set not to restart.


I’ve found the best way round this for myself is to isolate the scene with the delay by removing any trigger condition, and having it triggered directly from the other scene using fibaro.scene(“execute”,{}) when the PIR triggers. That way the scene ID’s have no effect on the operation.


I’m currently running v5.100.22, but first noticed this on 5.090.17 and I have reported it to Fibaro 


But has anyone else come across this, or have a better solution?
 

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0
  • Inquirer
  • Fibaro have confirmed the bug and have passed this issue on to their developers who will look at resolving it in future versions.

    • Like 1
    • Thanks 1
    Link to comment
    Share on other sites

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Answer this question...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...