I ran into a situation in my rule machine recently that I still haven't been able to solve, someone tried to help me by telling me to use variables. I started to read the documentation on it but I'm lost more than ever.
I want to know if someone can explain the How, When, and why to use variables in layman's terms because some of you guys are programmers and engineers, some of us just do this as a hobby, So sometimes there's a communication block on my end to fully understand.
Better yet if anyone has put up a video on youtube or here about the Variables that would be great, I checked HE youtube vids but nothing there about variables.
Strings of Text (Ex.: Name; 123; This or that or whatever else) (String)
True / False (Boolean)
Time (Time)
There are 3 types of variables in Hubitat Rule Machine:
Global Variables that can be used and modified by every rules
Local Variables that you create in each rule
Connector Variables that are created as Local Variables, but then made into devices and therefore can be used by other rules, etc.
There can be multiple reasons to use Variables. Here are a few:
Variables can be used to temporarily store information in your rules, in case you want to re-use this information later on.
Variables can be used to share information between rules.
Variables can be used by typing %variableName% in a text box. That text will be replaced by the variable value when the rule is run.
I'm trying to do something like this, would you be able to help?
To explain what's happening I have Alfred's door lock. I want the light to come on once the code is entered at a certain time and I tried creating something simple like this but it's not working, so someone posted their RM but I can't figure out why this should work vs what I've created, it seems complicated just to get a light to come on once the door is open.
My lock codes are going through the lock code manager
Since this guy who's also using the Alfred door lock is working, though complex, I would like to give it a shot, I just don't understand why it should be this complex.
Clearly, you are well versed with variables, so do you think it's needed for something as simple as when unlock code for x is entered and the door sensor is open to turn on the lights?
When the code is entered and the door unlocked, both conditions will be true, assuming that the unlock event occurs at the same time as the code entered event, which is not guaranteed... See 2nd example for a solution to this.
Off: VirtualSwitch —> delayed... I assume you will wan the switch to turn off
Cancel Delayed Actions: Delayed actions will run no matter what unless cancelled. This means that if something happens and the door gets closed and unlocked/opened again after 3 minutes, this will cancel it turning off after the “original” 5 minutes. It will only turn off after the “new” 5 minutes. You will not need this line if you remove the delayed Off.
One thing I don’t know is if your lock will report unlocked at the same time as it reports the code entered. If it doesn’t, you will need to add a short delay before the If condition, which would give you this:
Wait for event —> elapsed time: 0:00:01 —-This will wait 1 second before evaluating the if condition.
Wait for condition instead of wait for event on Front Door open —- I changed this because after 1 second, the door may already have been opened, and the event: “Door opened” may have already gone through. With this change, it will instead wait for the “door is open” condition. It would work in both examples.
Let me know if one of those work, or if you need more help!
but it didn't work, the lights didn't come on even though everything showed the rules was met.
When I go into Lock code manager events, I can see where the door was locked and unlocked and once I clicked on save preference I see it's recognizing my codes are there via the events, anything I have set up for the codes isn't working, for example even my notification which worked 100% using my Kwikset lock.
Lock code manager shows everyone is enabled, yet there's no report logs or log settings even though I have Moderate and I tried Verbose, over the last several days of having it enabled and using the lock code, you would think there should be some reports.
The notifications work if I had it set to open the front door. This worked also with my previous lock but I also wasn't using the lock code manager, I figured this was the better way to go since I have 3 locks now and I want it to know who's coming in so the greeting for that person code would trigger.
Interesting... Could you go to your lock device(s) and click on the “Events” button on top? See if there are “Lock code entered” events. If not, that would be the problem...
I suspect that those events are not getting triggered. See what is triggered when you unlock and use that event instead.
As a last resort, you could use the “Front Door Lock unlocked” event as your trigger. The only problem there is that the light would probably turn on when you manually unlock your door when going out.
In my door lock device, you can see, locking and unlocking but nothing in the events says lock code entered. I suspected there should have been some type of lock code entered log or event, I just couldn't confirm it..
As for your last resort, that's what I tried before posting anything and confirmed the lights are coming on as I'm going out also because the lock is unlocked from the inside, unlike the old kwikset that didn't require me to unlock it from the inside
I’m trying to follow all of this as I’m thinking of getting the Alfred lock. Could the fact that you have notifications for only once per day turned on have anything to do with it?