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
Question
Bob Winter 2
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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.