Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Lutron Radio RA2
#21
Dean,

I just installed the RadioRa 2 driver today to my CQC 4.2.17 non-beta version.

As an aside, I had a heck of a time finding the import driver command and had to do a search in the forums. You might want to add a button in the CQC Server Administration dialog where the other Driver related commands are, as that is where I intuitively expected it to be.

Anyway, I have the RadioRa 2 CQC driver installed and I've setup the RadioRa 2 Repeater to have a static IP and a telnet account for CQC to use. I was able to successfully view RadioRa 2 commands coming through a telnet session. At this point I ran out of time but will play more with CQC and RadioRa 2 tonight since I am still watching videos and learning CQC but I did have a quick question/issue.

In looking at the logs, I received the following error and just wanted to see if this was cause for concern. Also, I was wondering if I needed a beta version of CQC installed as I currently have the latest stable version (4.2.17) installed.

Error Msg: Facility 'LutronRA2C' was not found. Version=4.2
Severity: Failed
Process: CQCDataSrv
Class: Not Found

Thanks Dean.

David
Reply
#22
Yeh, it's not going to work for you unless you are on the latest betas. You imported the CML server side driver, but support really wasn't added until after the last formal release, and the client side driver interface is C++ and so it's not something including in the driver pack. It has to be gotten as part of the product installation itself.
Dean Roddey
Explorans limites defectum
Reply
#23
Thanks for the incredibly quick response Dean. Once I installed the latest beta I was able to see the RadioRa2 UI as you mentioned.

A quick comment related to the difficulty in finding the Component IDs. You might want to update your Homeworks/RadioRa2 documentation to point to the Lutron Integration Protocol (latest is Dec 2012 with name ending 040249) as that is the document that has them listed and is pulled up first with a quick web search.

I was able to get the SetDimmer command to work as well as the shortcut of setting the dimmer field's value directly. However, I was not able to get the other three commands to work: ButtonSim, FlashDimmer, or FlashLED.

I'm testing with a basic RadioRa 2 switch (8ANS) and dimmer (6NA) so it should be pretty straight forward. Since I haven't built an interface yet, I'm using the key mappings to test.

MasterBedLights(6NA Dimmer; Integration ID=30)
MasterBathNiteLite(8ANS Switch; Integration ID=33) (Note that I have the MasterBathNiteLite with Button, Dim, and LED on the end to test each option)

Works:
  • Devices::FieldWrite(LutronRadioRa2.InvokeCmd, SetDimmer : MasterBedLights, 20, 1, True)
  • Devices::FieldWrite(LutronRadioRa2.Dim_MasterBedLights, 76, True)
  • Devices::FieldWrite(LutronRadioRa2.InvokeCmd, SetDimmer : MasterBathNiteLiteDim, 100, 1, True)

Doesn't Work (ERROR: The value written to field LutronRadioRa2.InvokeCmd was rejected by the driver):
  • Devices::FieldWrite(LutronRadioRa2.InvokeCmd, ButtonPress : LutronRadioRa2.LED_MasterBathNiteLiteButton, Press, True)
  • Devices::FieldWrite(LutronRadioRa2.LED_MasterBathNiteLiteLED, True, True)
  • Devices::FieldWrite(LutronRadioRa2.InvokeCmd, FlashDimmer : MasterBedLights, 1, True)

I tried multiple component IDs for the switch (0, 1, 6) and for the LED (81,86,100,101). No combination allowed me to get the other commands to work. I'm not sure if I'm doing something wrong or if there is an issue but I'd appreciate some pointers. In the mean time, I have a lot more playing to do before I can use CQC effectively. Thanks again.

David
Reply
#24
The dimmers would be compid:0, since dimmers don't have any sub-components, so 30:0 and 33:0. They don't have any LEDs or buttons, they are just dimmers. So you couldn't pass them any commands other than the ones for dimmers (set the level via Dim_xxxx field, SetDimmer, and FlashDimmer.) Some dimmers may not support the flash thing, though they won't necessarily complain if you send them that command.

I think that 'splains the particular scenarios you are having issues with. The only things that have buttons and LEDs are keypads.
Dean Roddey
Explorans limites defectum
Reply
#25
Did that help any?

BTW, something that might be of interest to RA2 folks:

http://www.avsforum.com/t/1327173/radior...technology
Dean Roddey
Explorans limites defectum
Reply
#26
I haven't had time to look at it since but I did especially try 0 and 1 for component IDs when I was playing a few nights ago.

Here is a confusion I had based on the concept of a Button in CQC. A button makes perfect since when you think about the hybrid (or regular) keypads I have installed in the kitchen. But the way you implemented RadioRa 2 in CQC, a standard (non-dimmable) switch seems to follow the same structure as a dimmer, which isn't necessarily intuitive. Makes sense now but there was that initial confusion I had in trying to figure out what a button was as opposed to a non-dimmable switch.

But either way, I don't think the FlashDimmer command was working as I would expect that to work on a popular switch or dimmer like I have. I'll test it out again but probably won't be until tomorrow. And of course I'll play with the Button commands on my keypads in the kitchen.

Interesting note on the RadioRa2 Occupancy Sensor daylight issue. Luckily I'm only using my occupancy sensors in darker areas such as the garage. I feel you definitely lose some control as RadioRa 2 operates the way Lutron allows and something like CQC can come behind and modify but it is always after the fact. I would guess with something like UPB that CQC could react and do something as soon as a switch is pressed. So I guess I will look at it as having higher reliability at the expense of flexibility. Yeah, glass half full. Smile

David
Reply
#27
Buttons, effectively, are the assignable buttons on keypads. These don't do anything in and of themselves. They are there to provide you with user definable functionality. So, presumably, if what you want is to have more virtual type operations, you'd use keypads and set them up to do what you want based on button presses. The dimmers are just to control the load they are attached to. You can certainly combine the two. You can have a dimmer and have multiple keypad buttons that are set up to either, at the Lutron or CQC level, affect that same light in some way.
Dean Roddey
Explorans limites defectum
Reply
#28
I'm posting this from Cocoontech so it might not have perfect context with our current discussion but has some info that directly pertains so I am posting it in its entirety. As I wrote at the end, definitely a lot of testing and play to be had. :-D

********* From my Cocoontech post *******************
Well, if you telnet into the RadioRa 2 Main Repeater, you can see all of the buttons as they are pressed and released, whether that is a switch, dimmer, keypad button, or remote Pico button.

The commands over the RadioRa 2 internal network (how the RadioRa 2 network talks) looks something like this (I know you know this Dean).
#DEVICE,2,4,3
Where 2 is the Device ID, 4 is the Component ID (button on keypad), and 3 is the action, which in this case is a button press.

So for a local load - switch, dimmer, or local control hybrid keypad; you are correct in that it will control the local load and send out the key press and key release events. Now if we were to have the lights go up over 2 or 3 seconds, we might be able to intercept the actual light going on but I will have to test this.

Now for a hybrid keypad (buttons not assigned to local load) and for the Pico ($20ish) remotes, now that you explain it, we can set those up completely for CQC to control and it would give me some of the control that I want. I just setup a Pico to control the bedroom light by telling the RadioRa 2 system what to do when I press a button. However, if I didnt setup actions for the remote but just set it up with RadioRa 2, I could use CQC to react differently if my wife hits the on button after midnight; instead of turning on the bedroom light, I could turn on the bathroom light on low so she can see to go to the bathroom. And since she gets up before I do to get the kids off to school, after 6am the key press would turn on the bathroom light on medium and the hall light. Good stuff.

Also thinking of some cool potential uses for the occupancy sensors.

Thanks Dean. Seems like I've got a lot of playing to do with RadioRa 2 and CQC.

David
Reply
#29
So I finally got into writing my own code in CQC. The purpose of tonight was to modify how a Pico remote works to get around an issue in RadioRa 2's capabilties(my opinion). When I purchased the Pico, I expected that I would have a little more control of the buttons but the Lutron Essentials software doesn't provide that much. I have the 3 button Pico plus raise/lower. I was hoping to use the main on/off buttons on my bedroom lights and use the middle button to turn on the bathroom night light for late night trips. No dice with Lutron but I'm sure we can do something with CQC. Of course, I didn't know how to do that something with CQC a few hours ago.

Here is how I have the Pico buttons setup in CQC:
PicoMasterBed2On(32:2)
PicoMasterBed2Mid(32:3)
PicoMasterBed2Off(32:4)
PicoMasterBed2Up(32:5)
PicoMasterBed2Down(32:6)

And here is how I setup the Trigger Event Filter. Is there a way to filter to a single control from the Event Filters form without doing it in code?
[INDENT]Is the User Action For
Device: RadioRa2
Type: ButtonPress[/INDENT]

And here is the Event Trigger code I came up with to control the main bedroom lights plus setup a toggle for the middle button for the bathoom night lite. I welcome any suggestions for improving my CQC code.

Code:
TrigEvent::GetUserActionVals(LVar:Type, LVar:Value)
// Routine only handles commands for buttons starting with "PicoMasterBed"
If System::StartsWith(%(LVar:Value),PicoMasterBed)
    // On button was pressed on Pico remote
    If System::Equals(%(LVar:Value),PicoMasterBed2On-2)
        Devices::FieldWrite(LutronRadioRa2.Dim_MasterBedLights,95,True)
    End
    // Middle button was pressed on Pico remote
    If System::Equals(%(LVar:Value),PicoMasterBed2Mid-3)
        Devices::FieldRead(LutronRadioRa2.Dim_MasterBathNiteLite,LVar:LightStatus,True)
        If System::GrThan(%(LVar:LightStatus),0)
            Devices::FieldWrite(LutronRadioRa2.Dim_MasterBathNiteLite,0,True)
        Else
            Devices::FieldWrite(LutronRadioRa2.Dim_MasterBathNiteLite,100,True)
        End
    End
    // Off button was pressed on Pico remote
    If System::Equals(%(LVar:Value),PicoMasterBed2Off-4)
        Devices::FieldWrite(LutronRadioRa2.Dim_MasterBedLights,0,True)
    End
    // Up button was pressed on Pico remote
    If System::Equals(%(LVar:Value),PicoMasterBed2Up-5)
        Devices::FieldRead(LutronRadioRa2.Dim_MasterBedLights,LVar:LightStatus,True)
        If System::GrThanOrEq(%(LVar:LightStatus),87)
            Devices::FieldWrite(LutronRadioRa2.Dim_MasterBedLights,95,True)
        Else
            LocalVars::Add(LVar:LightStatus, 8)
            Devices::FieldWrite(LutronRadioRa2.InvokeCmd,SetDimmer:MasterBedLights,%(LVar:LightStatus),0,True)
        End
    End
    // Down button was pressed on Pico remote
    If System::Equals(%(LVar:Value),PicoMasterBed2Down-6)
        Devices::FieldRead(LutronRadioRa2.Dim_MasterBedLights,LVar:LightStatus,True)
        If System::LsThanOrEq(%(LVar:LightStatus),10)
            Devices::FieldWrite(LutronRadioRa2.Dim_MasterBedLights,2,True)
        Else
            LocalVars::Subtract(LVar:LightStatus,8)
            Devices::FieldWrite(LutronRadioRa2.InvokeCmd,SetDimmer:MasterBedLights,%(LVar:LightStatus),0,True)
        End
    End
End

There were some initial frustrations such as seeing it shown in another RadioRa post that the device name should have "quotes" around it. I think one of the biggest problems was not knowing the value of a variable at any point in time. So if there are any recommendations on how to troubleshoot with CQC more effectively, I'd be interested. Even if it means I create a simple interface to write variables to a text/label field.

Regarding the CQC RadioRa driver here are some initial thoughts on potential improvements:
  • The Button vs Dimmer vs Switch still isn't that intuitive. I'd like to see the Switch added as another type in the RadioRa2 driver because it works similarly to a dimmer but is either 0 or 100. Looking back at the original RadioRa version, it looks like that is how it was setup.
  • Continuing on the Switch motif, I'd like to see a simple toggle command (i.e. if currently on, turn off and vice versa).
  • Regarding the way buttons are handled, it doesn't make sense to require them to have unique names and then also need the component(button) number. Meaning either BedroomPico-2 or BedroomPicoUp should be sufficient but not BedroomPicoUp-2. Of course, that is nitpicking but it did affect how I wrote the code. Primarily because I originally wanted to have a Pico on my wife's side of the bed and mine. I'd like for the same set of code to handle both keypads but I'm not sure how that would be done. I liked the StartsWith command and was hoping there was the corresponding EndsWith.
  • Have built in handling for up/down buttons. I'm not sure I really like the up/down buttons with CQC due to the latency but a dedicated way of addressing the up and down arrows associated with a dimmer or shade might improve performance. In the future, if I want Picos for use with CQC I will likely stick with straight 3 button Picos and leave the 3 button plus up/down for use with RadioRa.

Long post but hopefully this will help others in starting out with CQC and RadioRa 2. As a matter of fact, I'd like to point out the importance of the Lutron Integration Protocol document for finding the Component ID, which is needed for most RadioRa 2 devices other than dimmers and switches (CompID=0). The other document that I found valuable, especially since I had primarily been watching videos, was the CQC Action Command Reference.

David
Reply
#30
You can do 'Is This User Action', which lets you check for a specific type and data value. And of course you can combine them. You can use the one above to insure that it only triggers on a user action from the RA2 driver. Then use the 'is this' filter to check that it's a ButtonPress for a specific keypad and button (the PicoMasterBed2Up-5 part.)

Then you know it only is for that particular light.

Keep in mind that you can also use Global Actions in this sort of situation. I.e. set up a global action (to which you can pass parameters), then have the triggered event just look at the incoming info, prep it, and then pass it into the Global Action to do the work. This way you can avoid redundancy.
Dean Roddey
Explorans limites defectum
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  W800RF32 by WGL (32 bit radio receiver) driver by BPH bph 68 22,525 05-14-2016, 08:01 AM
Last Post: jkmonroe
  XM Radio Channel Information Driver Jonathan 168 42,185 09-16-2013, 04:20 PM
Last Post: DaveB
  Pandora Radio using Sproxy. pasha 59 18,125 09-07-2013, 09:38 AM
Last Post: batwater
  Lutron IP Driver pseigler 15 9,181 08-19-2007, 10:21 AM
Last Post: Dean Roddey
  XM Radio & Pandora 0 324 Less than 1 minute ago
Last Post:
  HD Radio 0 312 Less than 1 minute ago
Last Post:

Forum Jump:


Users browsing this thread: 2 Guest(s)