| Author |
Message |
|
matt (support)
Site Admin
Joined: Jan 27, 2003 Posts: 11684 Location: Texas
|
 Re: SynchroLinc Pain
Gotcha. I'll look at the developer notes for it and see if I can put together an example. I think it will require sending an extended INSTEON command, which is supported by the PowerLinc 2413U and 2412U but not the 2414U. I assume you have either the 2413 or 2412?
_________________
|
| Thu Mar 15, 2012 1:05 pm |
|
 |
|
Dewster35
Joined: Jul 06, 2010 Posts: 494 Location: Petoskey, MI
|
 Re: SynchroLinc Pain
Thanks. You rock. 2412.
|
| Thu Mar 15, 2012 1:35 pm |
|
 |
|
matt (support)
Site Admin
Joined: Jan 27, 2003 Posts: 11684 Location: Texas
|
 Re: SynchroLinc Pain
Try out the python script below. You can copy/paste it into an Indigo interactive shell via Plugins->Open Scripting Shell, or you can put it into an Execute Script action. Note the script does 3 things: reads the current settings, changes them, then reads out the new changes. I'm not 100% positive the bytes I'm reading out and setting are correct and scaled correctly, but I think the values should be: triggerWatts (0 to 1800 watts in 0.5 watt steps): the wattage needed before the SynchroLinc broadcasts. thresholdWatts (aka hysteresis, 0 to 127.5 watts in 0.5 watt steps): tolerance before on/off toggle is sent. delaySeconds (0.15 to 38.25 seconds): prevents message flooding if thresholdWatts is too low. Give it a try and copy/paste the Event Log results for me. I might add this to a plugin at some point if it appears to work. - Code: Select all
instnAddr = indigo.devices["SynchroLinc Device Name"].address
###################### # Read out and log the current values: reply = indigo.insteon.sendRawExtended(instnAddr, [0x2E, 0x00], waitForExtendedReply=True) triggerWatts = (reply.replyBytes[4] * 256 + reply.replyBytes[5]) / 2.0 thresholdWatts = reply.replyBytes[7] / 2.0 delaySeconds = reply.replyBytes[6] / 6.6666
indigo.server.log("OLD:") indigo.server.log(" full reply: " + str(reply.replyBytes)) indigo.server.log(" triggerWatts watts: %.1f" % (triggerWatts,)) indigo.server.log(" threadhold watts: %.1f" % (thresholdWatts,)) indigo.server.log(" delaySeconds watts: %.2f" % (delaySeconds,))
###################### # Change the trigger, threshold and delay values here. Use whatever # values you think will work, but I woudln't set thresholdWatts below # 1.5 watts and it should probably be a fraction of whatever triggerWatts is.
triggerWatts = 18.5 # default 14.5 -- I think thresholdWatts = 2.5 # default 4.0 -- I think delaySeconds = 6.45 # default 4.50 -- I think
setSyncroSettingsCmd = [ 0x2E, 0x00, 0x00, # unused 0x02, # change settings int(2 * triggerWatts / 256) & 0xFF, int(2 * triggerWatts) & 0xFF, int(round(6.6666 * delaySeconds)), int(2 * thresholdWatts) & 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ] indigo.insteon.sendRawExtended(instnAddr, setSyncroSettingsCmd)
###################### # Read out and log the new values (just for debugging) reply = indigo.insteon.sendRawExtended(instnAddr, [0x2E, 0x00], waitForExtendedReply=True) triggerWatts = (reply.replyBytes[4] * 256 + reply.replyBytes[5]) / 2.0 thresholdWatts = reply.replyBytes[7] / 2.0 delaySeconds = reply.replyBytes[6] / 6.6666
indigo.server.log("NEW:") indigo.server.log(" full reply: " + str(reply.replyBytes)) indigo.server.log(" triggerWatts watts: %.1f" % (triggerWatts,)) indigo.server.log(" threadhold watts: %.1f" % (thresholdWatts,)) indigo.server.log(" delaySeconds watts: %.2f" % (delaySeconds,))
_________________
|
| Wed Mar 21, 2012 5:19 pm |
|
 |
|
Dewster35
Joined: Jul 06, 2010 Posts: 494 Location: Petoskey, MI
|
 Re: SynchroLinc Pain
I hope to have some time later this week to give this a whirl... btw, does this also work for the 2413?
|
| Fri Mar 23, 2012 3:44 pm |
|
 |
|
jay (support)
Site Admin
Joined: Mar 19, 2008 Posts: 6642 Location: Austin, Texas
|
 Re: SynchroLinc Pain
Yep.
_________________ Jay (Indigo Support)
|
| Fri Mar 23, 2012 3:48 pm |
|
 |
|
Dewster35
Joined: Jul 06, 2010 Posts: 494 Location: Petoskey, MI
|
 Re: SynchroLinc Pain
When I compile, this stops on the first line of the script at "indigo." An unknown token can't go after this modifier.
instnAddr = indigo.devices["Utility Room - Dryer Synchrolinc"].address
This is what I put in... is the syntax wrong or does it also require the device name or some other modification by me later in the code?
|
| Mon Mar 26, 2012 5:55 pm |
|
 |
|
matt (support)
Site Admin
Joined: Jan 27, 2003 Posts: 11684 Location: Texas
|
 Re: SynchroLinc Pain
That is an AppleScript error. So it sounds like you either didn't select Python from the popup to the right of the embedded radio button, or you aren't running Indigo 5.
_________________
|
| Mon Mar 26, 2012 6:50 pm |
|
 |
|
Dewster35
Joined: Jul 06, 2010 Posts: 494 Location: Petoskey, MI
|
 Re: SynchroLinc Pain
Embedded script executor host started Sent INSTEON "Utility Room - Dryer Synchrolinc" raw insteon command (2E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00; ack: 00) Script OLD: Script full reply: [46, 0, 0, 1, 0, 84, 20, 5, 0, 0, 0, 0, 0, 0, 0, 0] Script triggerWatts watts: 42.0 Script threadhold watts: 2.5 Script delaySeconds watts: 3.00 Sent INSTEON "Utility Room - Dryer Synchrolinc" raw insteon command (2E 00 00 02 00 25 2B 05 00 00 00 00 00 00 00 00; ack: 00) Sent INSTEON "Utility Room - Dryer Synchrolinc" raw insteon command (2E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00; ack: 00) Script NEW: Script full reply: [46, 0, 0, 1, 0, 37, 43, 5, 0, 0, 0, 0, 0, 0, 0, 0] Script triggerWatts watts: 18.5 Script threadhold watts: 2.5 Script delaySeconds watts: 6.45 Does that look like it's working? I didn't modify any of the variables... do you want me to try modification?
|
| Mon Mar 26, 2012 7:03 pm |
|
 |
|
matt (support)
Site Admin
Joined: Jan 27, 2003 Posts: 11684 Location: Texas
|
 Re: SynchroLinc Pain
It looks like it lowered the trigger from 42 watts to 18.5 watts. It doesn't modify any variables or anything -- it just sends the commands to the SyncroLinc to update its internal settings. You'll have to test it out to see if it looks like it really is working.
_________________
|
| Mon Mar 26, 2012 7:12 pm |
|
 |
|
Dewster35
Joined: Jul 06, 2010 Posts: 494 Location: Petoskey, MI
|
 Re: SynchroLinc Pain
I'll play around with it this week... I'm getting another one coming for my washer as well.
Is there any way to pull in the current draw on the device? Changing the wattage is nice, but not knowing the target makes it hard to hit what I'm looking for.
|
| Mon Mar 26, 2012 7:23 pm |
|
 |
|
matt (support)
Site Admin
Joined: Jan 27, 2003 Posts: 11684 Location: Texas
|
 Re: SynchroLinc Pain
Based on the dev documentation I have, it doesn't report that back. The iMeter will but not the SyncroLinc.
_________________
|
| Mon Mar 26, 2012 7:25 pm |
|
 |
|
Dewster35
Joined: Jul 06, 2010 Posts: 494 Location: Petoskey, MI
|
 Re: SynchroLinc Pain
Gotcha...so should I be getting the Imeter instead of the synchrolinc? I get that it doesn't have an on/off limit functionality like synchrolinc....but can you do the same types of things with indigo and scripting?
|
| Mon Mar 26, 2012 8:36 pm |
|
 |
|
matt (support)
Site Admin
Joined: Jan 27, 2003 Posts: 11684 Location: Texas
|
 Re: SynchroLinc Pain
Dewster35 wrote:Gotcha...so should I be getting the Imeter instead of the synchrolinc? I get that it doesn't have an on/off limit functionality like synchrolinc....but can you do the same types of things with indigo and scripting?
The big difference besides that it doesn't send out on/off on triggers is that Indigo has to poll its state. So you would have to create a periodic schedule action that sends it a status request, then you could create a device state change trigger when the wattage passes some threshold value. The problem is that if you appliance/etc. that is connected to the iMeter only turns on briefly, then that change won't be caught by Indigo. So if you need immediate notification of when something turns on, or cannot live without missed OFF->ON->OFF state changes (in the case where the poll doesn't occur until after it is already OFF), then you have to use the SyncroLinc.
_________________
|
| Mon Mar 26, 2012 8:40 pm |
|
 |
|
Dewster35
Joined: Jul 06, 2010 Posts: 494 Location: Petoskey, MI
|
 Re: SynchroLinc Pain
The only thing I'm doing is using it to tell if the washer and dryer are 1. Running, 2. Done running. Although it looks like the only advantage is seeing the draw, at least from my perspective. Unless I missing some other advantage?
If I really want to see it I can grab a cheap plug in type meter from home depot. Thanks for the help. I'm still getting the occasional false positive that it's done drying, but I'll play around with the values some more this week.
|
| Mon Mar 26, 2012 8:50 pm |
|
 |
|
brianmaas
Joined: Oct 05, 2010 Posts: 19
|
 Re: SynchroLinc Pain
I am using an imeter for my dryer. The polling kind of stinks, but a cool feature is that I can measure for the dryer door open because it uses a constant 10w draw when the dryer is off but the light is on. So I can repeat dryer notifications until someone comes over and has the door open for at least 30 seconds between polling times.
Right now I have it play a little tune and thank the person for doing the laundry.
|
| Mon Mar 26, 2012 9:28 pm |
|
|
Who is online |
Users browsing this forum: Google Feedfetcher and 0 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|