Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Timed Field Change in Lutron HW8
#1
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?
Reply
#2
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:Tongueause for a second, then write the second value.
Dean Roddey
Software Geek Extraordinaire
Reply
#3
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.
Reply
#4
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.
Dean Roddey
Software Geek Extraordinaire
Reply
#5
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

//
Reply
#6
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.
Dean Roddey
Software Geek Extraordinaire
Reply
#7
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
Reply
#8
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);
If  System::Equals(%(LVar:LEDStatus), False)
   // Put your stuff in here to do the press/release
EndIf
Dean Roddey
Software Geek Extraordinaire
Reply
#9
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
Reply
#10
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.
Dean Roddey
Software Geek Extraordinaire
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Raise / Lower Shades in Lutron RadioRa2 avtexan 3 733 05-27-2018, 08:55 AM
Last Post: Dean Roddey
  Lutron changes v1 to v2 ControlFreak 10 2,611 11-25-2017, 03:48 PM
Last Post: Dean Roddey
  ELK V2 Driver - AreaArm field & Triggers? sic0048 4 1,652 08-19-2017, 04:46 PM
Last Post: Dean Roddey
  How to pass a variable into a field moniker EST 3 1,281 08-30-2016, 11:01 AM
Last Post: EST
  EventGhost alternatives to getting driver/field *TO* SmartPhone? IVB 37 8,030 08-13-2016, 07:32 PM
Last Post: IVB
  Adding Christmas Light control to CQC with Lutron HW8 avtexan 10 3,393 11-18-2015, 12:35 PM
Last Post: avtexan
  Field Incr/Decr Button Widget khill 15 3,977 05-17-2015, 01:04 PM
Last Post: dlmorgan999
  Renderer field in Media Info (Auto-Gen) Andre 2 1,691 02-19-2015, 07:00 PM
Last Post: rtarver
  ISY99 - Changing an Enumerated Field in a Scheduled Event kblagron 2 1,067 09-20-2012, 09:49 PM
Last Post: kblagron
  Can someone tell me how to change this optix 2 1,202 04-11-2012, 06:10 PM
Last Post: Dean Roddey

Forum Jump:


Users browsing this thread: 1 Guest(s)