Author |
|
GadgetGuy Super User
Joined: June 01 2008 Location: United States
Online Status: Offline Posts: 942
|
Posted: April 04 2017 at 11:20 | IP Logged
|
|
|
I thought it might be a good idea to start a new Thread relating to the Global Cache wifi to IR interface (WF2IR model) rather than continue to build more entries on the 2411T IRLinc Support Thread 2411T IRLinc Support
Not having any luck in solving the issue, where all attempts to use IR control are resulting in repeated commands being sent, so if I execute a POWER TOGGLE command the target unit turns off and right back on again (or vice versa).
I reduced the PH IR Controller setting for the Repeat parameter from the default 3 to "1" but the
problem still remains.
So I started up the Global Cache iTest.exe App and used it to send the identical pronto string I use in PH and NEVER got any duplicate codes transmitted, and thus no problems.
Every CG transmission works and every PH transmission fails (turns the AC on and right back off immediately).
I am using pronto (hex) IR codes for my command definition in the PH Devices>IR>Equipment Details..
But I'm wondering if I used a GC (Global Cache) command string instead of a pronto string, if it would work any better and allow PH to work correctly, since the GC codes sent from the GC iTest utility work OK every time.
Problem is I can't find any doco, nor figure out how to do this.
I am sending the defined "PWR" code using a...
ph_irdesc("WINE AC IR","PWR") command.
How do I send a "PWR" formated GC code of....
Code:
sendir,1:1,8,37993,1,1,341,171,21,64,21,22,21,21,21,22,
21,21,21,22,21,21,21,65,21,21,21,65,21,64,21,22,21,21,
21,65,21,64,21,22,21,64,21,22,21,21,21,22,21,21,21,22,
21,21,21,65,21,21,21,65,21,64,21,65,21,64,21,65,21,64,
21,22,21,1599,341,86,21,3700 |
|
|
I assume this goes in the IR Equipment Details entries, but have been unable to find a syntax form that works there.
Does anyone share any experience in this area?
Edited by GadgetGuy - April 04 2017 at 11:22
__________________ Ken B - Live every day like it's your last. Eventually, you'll get it right!
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: April 04 2017 at 12:11 | IP Logged
|
|
|
Ken,
Just a quick note to try and help you out.
Im not near the development machine so cant give you a definitive answer but you should be able to store a Global Cache format code like this:
<gc>1,8,37993,1,1,341,171,21,64,21,22,21,21,21,22,
21,21,21,22,21,21,21,65,21,21,21,65,21,64,21,22,21,21,
21,65,21,64,21,22,21,64,21,22,21,21,21,22,21,21,21,22,
21,21,21,65,21,21,21,65,21,64,21,65,21,64,21,65,21,64,
21,22,21,1599,341,86,21,3700
The Global Cache only understands the GC format so any code stored in Pronto format (a universal standard) is first converted to GC format before being sent so storing
either a GC or a Pronto format code should be the same. The conversion from Pronto to GC is relatively simple. If you look at your pronto code, you can see your 4th block of
hex is 0155 which correlates with the GC code (in decimal) of 341. The next pronto block is 00AB which corresponds to the 171 in the GC code, etc. Besides just converting
from hex to decimal and formatting with comma's, the frequency is encoded in pronto a little differently (the first 4 blocks).
The first thing I would do is copy/paste your full pronto code so I can take a look at it. It's possible that repeats are built into the code itself. For example, you could
take a pronto code and duplicate it (except for the first 4 blocks) and tack it onto the end and you've now got a code that is sending the IR command twice (or so on). To
ensure that your pronto code is ONLY being sent once (other than having repeats built into the code itself), you can add a <repeat>1 to the end. Changing the repeat value 1
in the IR header screen should have the same effect but any <repeat> clause embedded in the IR code field will override this value. So even if you have the IR header repeat
value set to 1, if you've got a <repeat>3 tacked onto the end of your code, you'll repeat it 3 times.
You can check your pronto code against the GC code yourself by using the ph_convertir function and run it on either the pronto or gc format to convert to the other and then
compare. The help is wrong and you'll have to include the ID of the code as part of the IR code (see below):
ph_convertir("gc","<pronto>0000 006D 0000 0024 0155 00AB 0015 0040 0015 0016 0015...")
The proper format to convert your GC code posted above to pronto is:
ph_convertir("pronto","37993,1,1,341,171,21,64,21,22,21,21,2 1,22,21,21,21,22,21,21,21,65,21,21,21,65,21,64,21,22,21,21,2 1,65,21,64,21,22,21,64,21,22,21,21,21,22,2,21,21,22,2
1,21,21,65,21,21,21,65,21,64,21,65,21,64,21,65,21,64,21,22,2 1,1599,341,86,21,3700")
You leave out the 1:1,8 as this has to do with the zone, etc. If you wanted to store the code as GC instead of Pronto, then you would store in the IR code section in this
format:
<gc>37993,1,1,341,171,21,64,21,22,21,21,21,22,21,21,21 ,22,21,21,21,65,21,21,21,65,21,64,21,22,21,21,21,65,21,64,21 ,22,21,64,21,22,21,21,21,22,2,21,21,22,21,21,21,65,21,21,21
,65,21,64,21,65,21,64,21,65,21,64,21,22,21,1599,341,86,21,37 00<repeat>1<zone>1
Dave.
|
Back to Top |
|
|
GadgetGuy Super User
Joined: June 01 2008 Location: United States
Online Status: Offline Posts: 942
|
Posted: April 04 2017 at 13:34 | IP Logged
|
|
|
Dave - As always you hit the nail on the head. Your
instructions were clear and very helpful.
I have successfully converted my pronto code to a GC
format.
Unfortunately even sending IR commands in GC rather
than pronto format did not cure the command repeat
issue I have. Because the commands seem to repeat, I
can't get a "Toggle" command to work reliably, as what
it does, it immediately undoes! :-(
I have reviewed my command string and there is no
instance of a repeated command code sequence. The
identical sequence I use with PH (and fails) seems to
work perfectly every time with the GC iTest utility.
This is what the iTest utility sends (this is
everything there are no other parameter windows)..
The full GC Code string I am sendings looks like
this...
sendir,1:1,1,37993,1,1,341,171,21,64,21,22,21,21,21,22
,21,21,21,22,21,21,21,65,21,21,21,65,21,64,21,22,21,21
,21,65,21,64,21,22,21,64,21,22,21,21,21,22,21,21,21,22
,21,21,21,65,21,21,21,65,21,64,21,65,21,64,21,65,21,64
,21,22,21,1599,341,86,21,3700
Edited by GadgetGuy - April 05 2017 at 09:28
__________________ Ken B - Live every day like it's your last. Eventually, you'll get it right!
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: April 04 2017 at 13:47 | IP Logged
|
|
|
Ken,
I wouldnt have expected taking your pronto code and converting to GC format would work as this is essentially what happens automatically (PowerHome takes the pronto format
and converts it to GC and then sends the command to the Global Cache...by converting to GC format, you've just eliminated this step...the code is the same, just a different
format).
Did you try using the code that I pasted in my previous message? This one:
Code:
<gc>37993,1,1,341,171,21,64,21,22,21,21,21,22,21,21,21 ,22,21,21,21,65,21,21,21,65,21,64,21,22,21,21,21,65,21,64,21 ,22,21,64,21,22,21,21,21,22,2,21,21,22,21,21,21,65,21,21,21, 65,21,64,21,65,21,64,21,
65,21,64,21,22,21,1599,341,86,21,3700<repeat>1<zone >1 |
|
|
You'll need to remove any spaces or other characters that the forum may have added.
Dave.
Edited by dhoward - April 04 2017 at 13:48
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: April 04 2017 at 13:50 | IP Logged
|
|
|
Tried to get the code block to format but it's not
happening. You'll need to remove any embedded CR/LF and
spaces. There's a space after a couple of 21 values and
space in the <zone> command.
Dave.
|
Back to Top |
|
|
GadgetGuy Super User
Joined: June 01 2008 Location: United States
Online Status: Offline Posts: 942
|
Posted: April 05 2017 at 09:59 | IP Logged
|
|
|
dhoward wrote:
Ken,
I wouldnt have expected taking your pronto code and converting to GC format would work as this is essentially what happens automatically (PowerHome takes the pronto format
and converts it to GC and then sends the command to the Global Cache...by converting to GC format, you've just eliminated this step...the code is the same, just a different
format).
Did you try using the code that I pasted in my previous message? This one:
Dave. |
|
|
Dave - Yes I used the same GC code that you suggested, although I didn't copy your code but used the GC code directly captured by the GC box (and used in my prior message thread entry just above). I had converted that code to pronto, so didn't actually convert the pronto code back to GC code as I already had the original GC code.
The GC code string I am using in the PH IR Equipment Details Remote Key definition for my PWR TOGGLE is the same with the addition of "<repeat>3<zone>1" appended to the end. I originally used "<repeat>1" to keep commands from being duplicated, but was then having commands missed totally, so changed the repeat back to 3.
Now that seems to be working OK, since I switched to GC vs pronto format in the Key Code definition. (The repeat=3 seemed to be duplicating commands when used with the pronto code format]
What is strange is that the GC iTest utility seems to always work fine with no missed or repeated commands. I'm puzzled what might be different when PH supposedly sends the same thing and it doesn't work reliably.
I'm also finding that the 2423A5 doesn't seem to be holding its Links. Up to yesterday PH was never getting any Raw Insteon message traffic so the Device Status was never updated unless I used a ph_getinsteonlevelrt() command. On a whim, I rebuilt the 2423A5 links (PH Insteon Explorer>Links>Rebuild tab)and was then getting status updates, But this morning that wasn't working, so I again Rebuilt the Links and now Status Updating is again working.
Looks like some challenges ahead to get a reliable configuration.
I'm glad to test anything that might help discover what might be going on.
__________________ Ken B - Live every day like it's your last. Eventually, you'll get it right!
|
Back to Top |
|
|
GadgetGuy Super User
Joined: June 01 2008 Location: United States
Online Status: Offline Posts: 942
|
Posted: April 10 2017 at 16:02 | IP Logged
|
|
|
I finally got the 2423A5 Load Sensor set-up and working as desired. This is a small tutorial to help others understand and use this very useful Insteon product.
2423A5 SynchroLinc Care & Feeding
The SynchroLinc has three program settable parameters.
One can set Trigger Threshold in Watts where it sends an On, the Hold Off Time in seconds before a message is sent, and Hysteresis change in watts needed to send an Off.
This is a example PH formula to Write the SynchroLinc settings...
ph_insteonwithretext ("YOUR_SYNCHROLINK_ID",46,0,"00 02 WW XX YY ZZ")
Replace the "YOUR_SYNCHROLINK_ID" with the ID you've assigned your synchroLinc within PowerHome (not the Insteon hex address). You'll also need to replace the WW XX YY ZZ sections with the appropriate values explained below. These values should all be uppercase hex (2 digit) numbers.
The "46 00" identifies this as an Extended Get/Put Command.
The first two Data bytes of "00 02" signify this is a WRITE command; WW and XX is the trigger threshold in watts. This value can be from 0 to 1800 decimal. Take this value, then convert to hex. Decimal 1800 is 0708 hex so to use 1800, then WW XX would be 07 08.
YY is the holdoff value and can be from 0 to 255 decimal (00 to FF hex). The actual value in seconds is this number times 0.067 seconds. So a value of 255 (FF) would be 17.085 or about 17 seconds.
ZZ is the Hysteresis in watts. This value can be from 0 to 255 (00 to FF).
Example >> ph_insteonwithretext1("WINE AC SENSE",46,0,"00 02 00 C8 0F 60")
where 00 02 = write cmd; 00 C8 = 200 with trig threshold; 0F = 15*.067>1.01 sec status delay; 60 = 96 watts desired hysteresis.
Extended Control uses the Extended Set/Get command (46,0), with two following bytes to indicate a write (00 02) or a Read (00 00) command in Data byte positions D1-D2, and data values in D3-D14.
I queried mine, following this example, and got...
An Example PH formula to Read the SynchroLinc settings is....
ph_insteonwithretext1("WINE AC SENSE",46,0,"00 00")
where: Command1=46 {2E hex} (extended set/get), command2=00, D1= 00 and D2=00 signifying a READ command, and D3-D14=00
The formula evaluates to: 00000100C80F600000000000000000
The return from a ph_insteonwithretext1 command is the cmd2 (00) plus flag (2 hex bytes of 00 01 which indicates the following data is a return from a read), followed by Data1 thru Data14 extended return bytes (the next 28 hex characters). (Look at the 3rd line of the "Get Synchrolinc Settings" table...the "From Device").
where: D2=01, D4=threshold, D5=hold time, D6=hysteresis, D7-D14=00.
Edited by GadgetGuy - April 13 2017 at 11:50
__________________ Ken B - Live every day like it's your last. Eventually, you'll get it right!
|
Back to Top |
|
|
|
|