![]() |
Timed Field Change in Lutron HW8 - Printable Version +- Charmed Quark Systems, Ltd. - Support Forums and Community (https://www.charmedquark.com/vb_forums) +-- Forum: General Discussion (https://www.charmedquark.com/vb_forums/forumdisplay.php?fid=3) +--- Forum: Installation/Configuration (https://www.charmedquark.com/vb_forums/forumdisplay.php?fid=10) +--- Thread: Timed Field Change in Lutron HW8 (/showthread.php?tid=10646) Pages:
1
2
|
Timed Field Change in Lutron HW8 - avtexan - 07-28-2018 I am setting up some Motion Triggers for my lighting. I have any that control a field working fine. I am having an issue when I try a sim a Lutron button press which require a press & release. This is what I tried: Devices::TimedFldChange     P1=LutronHW8.InvokeCmd     P2=ButtonSim : Master, Press, ButtonSim : Master, Release     P3=ButtonSim : Master, Press, ButtonSim : Master, Release     P4=1 Ideas? RE: Timed Filed Change in Lutron HW8 - Dean Roddey - 07-28-2018 Is that a typo maybe? You are doing Release in both cases. Don't you want Press in the P2, then the later value to be Release? BTW, I don't think it will go as low as 1 second. It's likely increasing that. For something that short, don't use a timed field change. Just write the value, do a System: ![]() RE: Timed Filed Change in Lutron HW8 - avtexan - 07-28-2018 So if the lights are off and I have motion this is what I was thinking: P2 (Turn lights ON) Need a button Press AND a button Release for CQC to SIM the button press in Lutron Now the lights for the scene are ON After a period of time I want the lights off P3 (Turn lights OFF) Need a button Press AND a button Release for CQC to SIM the button press in Lutron Now the lights for the scene are OFF P4 is set to 1 for testing (That is 1 minute. I believe 0:01 is 1 second). It will likely be 5-10 minutes in use. RE: Timed Filed Change in Lutron HW8 - Dean Roddey - 07-28-2018 You wouldn't be able to do that since it requires two different writes in both cases, and you can only do one write and then one subsequent timed write. It seems like the driver really needs to have a press/release command that does both in one field write. That would then allow you to use the timed field write for what you want. Sorry, on the time thing, I misread that. Yeh, that should be a minute. RE: Timed Field Change in Lutron HW8 - avtexan - 08-05-2018 Thanks Dean.  If you ever get a chance it would be great if the Old Homeworks 8 driver would have one command for press & release. The driver also needs a double tap  I know you always have a lot on the plate but it would be helpful. I am continuing to work on my motion triggers.  There are a couple of them that I don't need a turn off so a basic command will work fine.  I want the trigger to turn them on and leave them on. I am having one issue.  All of my Lutron button presses are toggles.  So if the LED is On it turn the scene OFF.  If the LED is On it turns the scene OFF So I need to look for that or as the motion cycles it will turn the light on and then off, etc If I look for that LED status in Fld Value Equals inside the trigger  it works fine. I want to check for that status inside the action as all button presses that I use will need to look for this.  It also would free up one of the 4 spots for other filters. When I try and this inside the action the scene toggles each time the motions starts. This is what I have.  What am I missing? // SET SCENE NAME LocalVars::SetVariable     P1=LVar:SceneSelected     P2=DownPath // CHECK LED STATUS IS OFF LocalVars::SetVariable     P1=LVar:LEDStatus     P2=Off //  // TURN ON SELECTED SCENE If  Devices::FieldRead     P1=LutronHW8.LED_%(LVar:SceneSelected)     P2=LVar:LEDStatus     P3=True Devices::FieldWrite     P1=LutronHW8.InvokeCmd     P2=ButtonSim : %(LVar:SceneSelected), Press     P3=True Devices::FieldWrite     P1=LutronHW8.InvokeCmd     P2=ButtonSim : %(LVar:SceneSelected), Release     P3=True End // RE: Timed Field Change in Lutron HW8 - Dean Roddey - 08-05-2018 Don't use FldValueEquals. See the docs for that filter. It's dangerous and only should be used in conjunction with something else. It actually goes out and looks at the actual field, it doesn't use the value that caused the toggle (which is sent in the trigger itself.) There's another one, "New Field Value For" or something like that, which actually uses the value sent in the trigger itself. If you have any action and the only filter is FldValueEquals, it's going to run any time any trigger occurs, and that field has that value. You normally would only use that one in conjunction with something else, to see if some other field besides the one you are triggering on has a particular value. It's often used to create suppression fields in the variables driver to stop some events from triggering for some reason. RE: Timed Field Change in Lutron HW8 - avtexan - 08-05-2018 In this case I am trying NOT to use the Fld Value Equals. The trigger are: 1) Is Motion Event for: Alarm.MOT#Foyer_Motion 2) Is Motion Start 3) Unused 4) Unused Trigger If: All are True ACTION: // SET SCENE NAME LocalVars::SetVariable     P1=LVar:SceneSelected     P2=DownPath // CHECK LED STATUS IS OFF LocalVars::SetVariable     P1=LVar:LEDStatus     P2=Off //  // TURN ON SELECTED SCENE If  Devices::FieldRead     P1=LutronHW8.LED_%(LVar:SceneSelected)     P2=LVar:LEDStatus     P3=True Devices::FieldWrite     P1=LutronHW8.InvokeCmd     P2=ButtonSim : %(LVar:SceneSelected), Press     P3=True Devices::FieldWrite     P1=LutronHW8.InvokeCmd     P2=ButtonSim : %(LVar:SceneSelected), Release     P3=True End RE: Timed Field Change in Lutron HW8 - Dean Roddey - 08-05-2018 If I'm understanding you, the field read doesn't return the value of the field read, it returns whether the read worked or not. And even then, only if the last parameter is False, else it will cause an error and stop. You want to read the value into the variable, then compare the value in the variable to False. If so, then do the thing. So do this instead: Code: Devices::FieldRead(LutronHW8.LED_%(LVar:SceneSelected), LVar:LEDStatus, True); RE: Timed Field Change in Lutron HW8 - avtexan - 08-05-2018 It did not work when I compared the LVar:LEDStatus to False but it did when I compared it to Off. Does this look correct? LocalVars::SetVariable P1=LVar:SceneSelected P2=DownPath Devices::FieldRead P1=LutronHW8.LED_%(LVar:SceneSelected) P2=LVar:LEDStatus P3=True If System::Equals P1=%(LVar:LEDStatus) P2=Off P3=Case Devices::FieldWrite P1=LutronHW8.InvokeCmd P2=ButtonSim : %(LVar:SceneSelected), Press P3=True Devices::FieldWrite P1=LutronHW8.InvokeCmd P2=ButtonSim : %(LVar:SceneSelected), Release P3=True End RE: Timed Field Change in Lutron HW8 - Dean Roddey - 08-06-2018 I was assuming the LEDStatus was a boolean value. Maybe it has other values than off and on, so it needed to be an enum. Oh, it has a blinking state as well, right? If so, that would be why. Anyhoo, yeh, that looks reasonable to me. |