Author |
|
JaredM Newbie
Joined: November 04 2007
Online Status: Offline Posts: 36
|
Posted: November 11 2007 at 03:09 | IP Logged
|
|
|
Is there any way to send an insteon command that says in effect, "hey you, go to this on level at this ramp rate" without first creating a group?
What I'd like to do is have a general purpose function that flashes a light kind of like insteon does when you're linking. I've found that if the light's currently off, instead of just FASTON\FASTOFF, it looks cooler to go brighten to 100% at a ramp rate of 28 (half a second) then go FASTOFF. And if the light's on then dim to 0% at a ramp rate of 28. I'll be using this for many different lights and I'd like to avoid creating a group for each light. Can it be done?
Thanks,
Jared
Edited by JaredM - November 11 2007 at 03:12
|
Back to Top |
|
|
TonyNo Moderator Group
Joined: December 05 2001 Location: United States
Online Status: Offline Posts: 2889
|
Posted: November 11 2007 at 08:43 | IP Logged
|
|
|
Most Insteon devices do not allow this, but, I recall reading that some newer modules can have the ramp rate set remotely (without pulling the air gap). I believe I read this here, somewhere.
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: November 11 2007 at 13:16 | IP Logged
|
|
|
Jared,
No way in the current crop of devices. There are a couple of Insteon commands reserved specifically for this, but would only be available in the absolute newest devices (which may not be available yet). You could still give it a try. The "On" command is command number 46. The "Off" command is command 47. These commands require some bit-fiddling with the command 2 parameter to contain both the "On" level and the ramp rate. The docs explain this as: Bits 0-3 = 2X Ramp Rate + 1, Bits 4-7 = On-level + 0x0F.
So, base upon this, you won't be able to do a ramprate of 28...only 29 or 27. You will be able to do 100% though. Using their formula, 29 - 1 = 28 / 2 = 14 = 0x0E for bits 0-3. 100% = 0xFF = 0x0F for bits 4-7. So we have a command 2 byte of 0xEF or 239 decimal. A ramprate of 27 will be 0xDF or 223 decimal.
So, to test this out in PowerHome to see if *any* of your devices support this command, just use the ph_insteon function. The sample below is for 100% with a ramprate of 27:
ph_insteon("YOUR_INSTEON_DEVICE_ID",46,223)
Since that probably wont work (at least not until the newer devices are available), you can still get what you want without having to use alot of groups. It will only take 1 group to handle all of your devices, but you'll have to pre-define it. Just pick a PLC group that you will *never* call as an actual group, say 252. Add all of your devices that you wish to control thus to this group with a level of 255 and a ramprate of 28. Let PowerHome create all of the links. Then, to call the individual devices using this new ramprate, just use the group cleanup funcitons (PowerHome is unique in letting you call group cleanup commands separately). If you give the PLC group 252 a name, then you can use the ph_insteongroupcu function, otherwise you'll need to use the ph_insteonrawgroupcu function. An example "On" command is below:
ph_insteongroupcu("PLC_ID_FOR_GROUP","DEVICE_ID_OF_DEVICE_TO _CONTROL",ion)
The above function will turn on *only* the light specified by the DEVICE_ID to 100% at ramprate 28.
To turn off the same light at ramprate 28, use the following function:
ph_insteongroupcu("PLC_ID_FOR_GROUP","DEVICE_ID_OF_DEVICE_TO _CONTROL",ioff)
Hope this helps,
Dave.
|
Back to Top |
|
|
JaredM Newbie
Joined: November 04 2007
Online Status: Offline Posts: 36
|
Posted: November 11 2007 at 14:29 | IP Logged
|
|
|
I spot checked a few of my newer devices and none of them responded to command 46. (Also: wow, just 8 bits to hold on level & ramp rate for these new commands. Not a lot of granularity there.)
That said, the group cleanup command worked great. This will let me do exactly what I want with just one PLC group.
Thanks!
|
Back to Top |
|
|
|
|