Author |
|
BeachBum Super User
Joined: April 11 2007 Location: United States
Online Status: Offline Posts: 1880
|
Posted: December 01 2009 at 09:05 | IP Logged
|
|
|
Sorry about missing the earlier post. Just a wild thought, have you tried it in Safe Mode?
__________________ Pete - X10 Oldie
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: December 01 2009 at 09:28 | IP Logged
|
|
|
The Button number, what gets written in the LD3 field of the "Responder to" link record in the EZIO4O, origins from 0.
Relay 1 = Unit 0 (button 0)
Relay 2 = Unit 1 (button 1)
Relay 3 = Unit 2 (button 2)
Relay 4 = Unit 3 (button 3)
All Insteon device output unit (button) numbers start at 0 except the KPL which starts at 1.
If this is a link with the PLM as the controller you can use whatever Group number you want that is not already being used by a PLM Group. If some other Insteon device is the controller then the Group number that applies to that device is the Group number used. For example, if a SwitchLinc is the controller then Group 1 would be used as all single controller devices (switchlinc, togglelinc, ICON switch, etc) use Group 1. If it is a multi controller device like a KPL, RemoteLinc, ControLinc, then the Group numbers start at 1 and must match the Group number of the controller button being used.
There is another possible fly in the ointment. Some of the later SHN devices are built on the new PLM that supports 2000+ links. That puts the link database start point at 3FF8 rather than the usual 0FF8 for most other Insteon devices. Powerhome can handle either situation but the Types entry Mem Top column has to have the memory size value that matches the device. If the internal PLM in the EZIOO4 has the larger memory size but Powerhome has a value of 4096 for Mem Top, Powerhome is writing the link records at 0FF8 when they need to be written at 3FF8. The only way I know to tell for sure what size memory the internal PLM has is to do a Set button link with the EZIOO4 so that the internal PLM is writing the link record and then look to see where that link record is actually written. That is simple when using the SHN Utility as the Manage Device Links tab has a Links Database size option (Small or Large) that controls where the Utility looks for link records. You can do it under Powerhome by using the Scan DB column to get Powerhome to read the current device link database. Once it is known that a good link exists in the EZIOO4 by using the Set button, then a read of the link database at 4096 either shows that link record or, if not, change the Mem Top Types entry to 16384 and read the link database again. Whichever value results in the Set button link being retrieved is the size of the EZIOO4 PLM memory size. If the Types Mem Top column value is changed a Reinit is required for Powerhome to use the new value.
If SDM3 had ever been installed, even the older version, there should be a “Device Manager” entry for it in the Add/Remove Program list unless it was specifically uninstalled at some point. My .308 SDM3 install shows a date of 12/24/2006 under the Add/Remove Program list “Device Manager” entry. I am running with XP Home Edition 32 bit. Perhaps there is an issue with the SDM3 install on a different XP or with the 64 bit variant. I doubt Smartlabs will provide much if any support for the Device Manager at this point.
I just had another thought. I had installed SDM3 way back when I started with HouseLinc Desktop. It would have already been there when I started with PowerHome using the PLC. Perhaps if Powerhome is the starting point for SDM3 it does not formally get installed but I would be surprised if that is the case.
__________________ Lee G
|
Back to Top |
|
|
BeachBum Super User
Joined: April 11 2007 Location: United States
Online Status: Offline Posts: 1880
|
Posted: December 01 2009 at 09:35 | IP Logged
|
|
|
Found this tidbit: “Their installer is confused. To get this working do this:
1) Install the SDM on another PC
2) Copy the entire folder: c:\program files\common files\SmartHome to the HomeTroller. Copy it to a network drive or a thumb drive.
3) Copy the SmartHome folder to the same location on the HomeTroller (C:\Program Files\Common Files)”
This assumes you have another computer. Change HomeTroller to the folder where SDM is suppose to be or create one. This implies to me that the SDM installer is looking around for other installs and goes belly up if not happy. It would be hard to remove it as some information on the install is plugged into the registry when launched.
__________________ Pete - X10 Oldie
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: December 01 2009 at 09:51 | IP Logged
|
|
|
I missed a point. There are commands that specifically turn On/Off the EZIOO4 relays which are listed in a file "EZIOxx Advanced Details and Command Set" on the SHN Downloads site. I doubt the Powerhome Device Status screen uses these commands as it would have to have specific knowledge of the EZIOxx family of devices and then have some way for you to specify which Output Relay is to be manually controlled. You can issue an Insteon Direct command using normal PH_xxxx function to turn ON/OFF the relays if you want to test that way. Of course if you want to do it with PLM Groups then working links have to be established.
__________________ Lee G
|
Back to Top |
|
|
GadgetGuy Super User
Joined: June 01 2008 Location: United States
Online Status: Offline Posts: 942
|
Posted: December 01 2009 at 10:50 | IP Logged
|
|
|
All good ideas but I seem to be getting nowhere in terms
of connectivity.
It appears that SimpleHomeNet leans towards the EZ-Bridge
vs the PLC connection method. I can find no info on this
on their web site.
I'm thinking it may be best to get on the "bandwagon"
rather than fight the PLC.
How can I find out more about this, and does it make
sense to go that way?
Alternatively is there a way to use my PLM's (which I
have multiple spares of?).
Thanks.
Edited by GadgetGuy - December 01 2009 at 10:52
__________________ 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: December 01 2009 at 10:56 | IP Logged
|
|
|
grif091 wrote:
Once it is known that a good link exists
in the EZIOO4 by using the Set button, then a read of the
link database at 4096 either shows that link record or, if
not. .. .
|
|
|
Not aware of how to "read link database at 4096" Can you
provide a bit more info? Thanks.
__________________ Ken B - Live every day like it's your last. Eventually, you'll get it right!
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: December 01 2009 at 11:42 | IP Logged
|
|
|
SHN has stopped updating the SHN Utility in favor of putting SHN device configuration support into their Harmony client (Adobe Flash based) interface to EZServe. The Harmony client is the alternative to using the HTML interface into the EZSrve/EZBrdge device.
I made some of the last functional changes to the Utility which SHN merged into their source. I use a different level of VB development environment then they do so they had to integrate my source changes into their environment before they could release a new update. Don't believe there will be any more of those formal updates. I have updated the Utility to run on the V2 EZServe images (1.81 only supports EZServe V1 images) as well as added support for the new 2.7 EZFlora II device which supports a water meter counter and some other new options. I send the updated .exe file to anyone who is running an EZSrve V2 image that wants to run the Utility.
Using EZServe as the powerline interface works fine. The only thing that cannot be done is manage the EZSrve link database through the Utility as the Utility uses the standard Peek/Poke commands to manipulate a link database and Insteon does not support going through a PLM powerline interface to access its own link database. EZServe of course uses the serial interface to manage the EZServe link database. I have thought about adding PLM support as a powerline interface to the Utility but that is a major piece of work. Dave did a great deal of work on Powerhome to add PLM controller support. Bottom line is you cannot use your standalone PLMs as a powerline interface for the SHN Utility.
Just saw your last post. Each Types entry (device type entry) in Powerhome has a Mem Top column which specifies the size of the Link Database Memory or its actual top starting address. Powerhome uses this information to control whether it does Peek/Poke link database operations starting at 0FF8 (4096 memory size) or 3FF8 (16384 memory size). This is necessary to access the correct memory location when reading or writing a device link database. When Smarthome introduced a PLM that supports 2000+ link records it had to use a bigger memory to hold the larger number of link records. Since a link database is created and accessed from the top down it was necessary to change every program that issued Peek/Poke commands to handle the new starting memory location. In their infinite wisdom Smartlabs did not provide an easy way of determining the size of PLM memory when standing on the outside looking in so it was necessary for Powerhome to implement this Mem Top column so that the Types entry for a particular device type could identify the device type memory size. Since SHN devices are built on top of a PLM those devices can have either the older PLM with a memory size of 4096 bytes which supports 417 links or the newer PLM with a memory size of 16384 bytes which supports 2000+ links. If the Mem Top value is not correct Powerhome will read/write link records at the wrong memory location. What usually happens is a device will have the large memory where link records must be written at 3FF8 starting address but the Types entry has Mem Top of 4096 so Powerhome writes link records starting at 0FF8. The 0FF8 is a physically valid address in the large memory configuration so they can be written without error at 0FF8 but one would need well over a 1000 active links before Insteon hardware would consider links at 0FF8 to be active.
If you want more information on EZServe and/or the SHN utility you can email me directly at lwgwork@embarqmail.com. Not really a subject to take up room on the Powerhome forum.
__________________ Lee G
|
Back to Top |
|
|
GadgetGuy Super User
Joined: June 01 2008 Location: United States
Online Status: Offline Posts: 942
|
Posted: December 01 2009 at 14:42 | IP Logged
|
|
|
After struggling all day (is there any other way?) I
finally got the PLC and SHN Utility to work. By renaming
the SDM3.exe.308 executable in PH to SDM3.exe and running
it I was able to start the SDM service. Then the SHN
Utility worked and I discovered there are no links in the
EZIO40, so tried to add one but not successful.
Discovered I can link to the '40' with a 2430 ControlLinc
and control the relays OK. Now trying to translate that
success into PH functionality, bit without success so
far.
To make a long story short... how does one link the PLM
to the '40' using the PH 'Links' Tab in Insteon Explorer?
Also if I do a Rebuild of the '40' db I get a verified
link for Group-1/Button-1 and an unverified link for
Group-1/Button-0. But if I eliminate the Button-0 entry
then the PH Status Scans start failing.
Things just aren't making sense so far.
Can you suggest a simple little test entry to example
correct links and test?
Thanks Lee.
__________________ Ken B - Live every day like it's your last. Eventually, you'll get it right!
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: December 01 2009 at 15:23 | IP Logged
|
|
|
Creating links between the PLM and O4 is the same as creating links between any other controller (PLM) and any responder (O4). Under the Links tab, select your PLM as the Current Device and drag/drop the O4 into the Responder (of current device) section. Set the Group number (blue column heading) to some Group number that is not already being used by any other PLM Group (like 40 just off the top of my head). Set the button number (green column heading) to 0,1,2,3 for Relay 1,2,3,4. If Powerhome has an issue with the button number use whatever button number it will allow. We can work through that problem after any relay works. Save the link definition and let Powerhome background task create the link.
However, before doing that we should display the link(s) in the O4 that you created with the Set button. Still need to answer the question about the O4 memory size before turning Powerhome lose to write the links. Invoke the SHN Utility, Connect to the PLC, select the Manage Device Links tab. Enter the Insteon address of the O4 into the Device Insteon ID: field, Links Database Size: should be Small, click on Display Link Records. If the O4 has the small memory configuration you should see the Set button link(s) that have already been established. If no links are displayed, change the Links Database Size: to Large and click on Display Link Records again. If no links are displayed then either no Set button links have been created or there is a communication problem between the PLC and the O4. Click on the Insteon Traffic tab and see if there are errors being displayed. Once active Set button created link records are displayed either with the Small or Large option then we know what value should be in the Types Mem Top column of Powerhome.
When Powerhome has created a link to one of the O4 Output relays then you can issue a ph_insteonrawgroup using Group 40 (if that was the Group number you decided to use) with a cmd1 value 17 (On) to turn the relay On and a cmd1 value of 19 (Off) to turn the relay Off.
__________________ Lee G
|
Back to Top |
|
|
GadgetGuy Super User
Joined: June 01 2008 Location: United States
Online Status: Offline Posts: 942
|
Posted: December 01 2009 at 19:29 | IP Logged
|
|
|
OK. Making lots of headway, but not success . Thought I would continue the discussion here in the Forum rather than via email so that others might learn, if they had a need.
Verified that we have a "Small Memory Configuration db" so have EZIO40 Device appropriately setup in the Device Tab with a 4096 Top.
I set up two "Controllers of" links from my "PLM 2412U" into the "DWN HUMIDITY" EZIO40 device. Just to cover the bases I set up both a Button 0 and Button 1 entry to control relay 1 (whichever link it wanted), both in Group 10 which is solely used for this purpose.
I Rebuilt the links with DWN HUMIDITY Selected as the Current Device to make sure they were in the '40.'.
Then starting SHN Utility and looking at the Link Records in it I have the following entries. . .
Link Record 1--Responder to Device: D.D9.8D; Group A; Data: FF,1F,0 and
Link Record 2--Responder to Device: D.D9.8D; Group A; Data: FF,1F,1
My macro formula line that controlls the '40' is. . .
if({HUMIDITY}<{HUMIDITY_TARGET},ph_insteonrawgroup("PLM 2412U",10,48,0),ph_insteonrawgroup("PLM 2412U",10,48,1))
I used the "48" for Cmmd1 as the standard 17 and 19 did nothing and when I looked at the Insteon Traffic in SHN Utility it had sent CMMD1=48 and CMMD2=0 for relay ON and 1 for relay OFF.
Despite the variations above, the macro seems to do nothing. The '40' just sits there, always in its initial state. None of the relays change state.
Any thoughts of where we can go from here?
And BTW much thanks for all your help Lee. Much appreciated!
__________________ Ken B - Live every day like it's your last. Eventually, you'll get it right!
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: December 01 2009 at 20:18 | IP Logged
|
|
|
Happy to help.
You can do this with Powerhome or the SHN Utility. The LDx (Data:) values in the 2 "Responder to" link records in the EZIOO4 need some tweaking. In both records change the FF,1F,0 to 0,0,0 and FF,1F,1 to 0,0,1. The FF,1F are bright level and ramp rate for a normal output device. The EZIOxx family of devices uses a different set of values for the LD1 (FF) and LD2 (1F) fields. Both need to be 0 for individual relay control using a Group command sequence. Page 2 of the EZIOxx document I mentioned earlier has a chart showing the various LDx combinations that can be used with Group commands. For now the simple specific relay control is best to start with.
Next change the cmd1 value back to 17 (0x11) for On and 19 (0x13) for Off and the cmd2 value to 0 for both. The 48 which you are using perhaps was taken from the EZIOxx Command document but the commands in the chart are in hex and the values in the ph_insteonrawgroup call are in decimal. Also a 0x48 is used in an Insteon Direct command rather than an Insteon Group message sequence and an Insteon Direct command does not use the links which you have established.
EDIT: the first "Responder to" record will control Relay 1 and the second "Responder to" record will control Relay 2. Putting both on the same Group will result in both relay 1 and relay 2 turning On and Off together.
Edited by grif091 - December 01 2009 at 20:21
__________________ Lee G
|
Back to Top |
|
|
GadgetGuy Super User
Joined: June 01 2008 Location: United States
Online Status: Offline Posts: 942
|
Posted: December 02 2009 at 09:22 | IP Logged
|
|
|
Lee -
Your explanations are very clear and educational. Good job.
Unfortunately I can't claim any success yet.
I set up the links in the EZIO40 as you describe, using the SHN Utility.
The Links setup for the EZIO40 ("DWN HUMIDITY" device) is as follows. . .
and the EZIO40 Type is defined as. . .
NOTE: the Type definition in PH seems to be missing the "DevCat", "SubCat", and ""ProdKey" entries. Don't know if that is an issue, but it is different.
To simplify I then set up a test macro with a single formula to turn on relay 1.
Unfortunately the EZIO40 never changes state. All relays remain in their off position.
This is the kind of "bug" I hate, as it seems to continually defy rhyme or reason in its failures!
Any more ideas, oh wise one?
__________________ Ken B - Live every day like it's your last. Eventually, you'll get it right!
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: December 02 2009 at 09:39 | IP Logged
|
|
|
Just for accuracy the ph_insteonrawgroup does not specify which relay it is controlling. It is issuing a Group 10 On and that is all it knows. It is the responder to LDx data that is controlling which relay. No big deal, just clarity for someone else who may be following this topic.
Post the Insteon Raw Log. Let’s see what the EZIOO4 is responding with. There is a variable here that I have not used before. Normally there is a single responder to link record in the EZIOO4 for a particular Group number. If 2 relays are desired then the Data: values would be set up to control both relays with a single responder record. Don't know if the two responder records for the same Group number are a problem. You can try changing the Group number in one of the records to say 11 (0B) and see if the makes any difference. Either way post the Raw Log.
Also double check with the SHN Utility that the Data: is actually 0.0.0 and 0.0.1 in the two link records. That is what it should be based on the Powerhome link information but it is worth confirming.
__________________ Lee G
|
Back to Top |
|
|
GadgetGuy Super User
Joined: June 01 2008 Location: United States
Online Status: Offline Posts: 942
|
Posted: December 02 2009 at 10:02 | IP Logged
|
|
|
Lee - will do, but before let me clarify a few things.
First the EZIO40 works perfectly when I link it to a button on a ControlLinc. I can then turn relay 1 on and off at will.
Thus am surprised that I can't just control the durn thing with a standard Insteon on/off command as to any switch!
Secondly re the two link records. I'm not clear if they really need to both be there. I am only desiring to turn relay1 on/off and don't need to control any others. I just made several entries in the link records in case Button1 mapped to relay1 rather than Button0. But it appears that Button0 must indeed control Relay1 so that is the only link I need.
Accordingly can I delete the link record with 0,0,1?
This is what the RawLog contains as a result of running my single event Test macro. . .
2009-12-02_095628_rawInsteon.txt
My PLM ID is >>>>> 0D.D9.8D
The EZIO40 ID is >>> 01.7F.99
Hope this helps
__________________ Ken B - Live every day like it's your last. Eventually, you'll get it right!
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: December 02 2009 at 10:15 | IP Logged
|
|
|
You can delete the second responder to link record with 0,0,1 as that is trying to control relay 2. What does the link record for the ControLinc to EZIOO4 look like?
The InsteonRawGroup is issuing only the Group Broadcast message without the followup Group Cleanup Direct. I think we need a different ph_ call that does both. I’ll look into that.
__________________ Lee G
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: December 02 2009 at 10:36 | IP Logged
|
|
|
What we need is the ph_insteongroup function but that requires a PLC/PLM Group definition. Simple definition giving an ID value to the specific PLM Group number (10 in this case) and then the ID value is used in the ph_ call.
For now add an additional line to your test macro and issue a ph_insteonrawgroupcu after the ph_insteonrawgroup. This second call will issue the Group Cleanup Direct message.
I would still like to know what the responder to link record for the ControLinc looks like. The ControLinc is issuing the normal Group Broadcast, Group Cleanup Direct sequence that we will be doing with the addition of the new ph_ call or switching to ph_insteongroup and a PLC/PLM Group definition.
__________________ Lee G
|
Back to Top |
|
|
GadgetGuy Super User
Joined: June 01 2008 Location: United States
Online Status: Offline Posts: 942
|
Posted: December 02 2009 at 10:42 | IP Logged
|
|
|
I went back ('cause I forgot to do it before my post above) and checked the SHN Utility Links in the EZIO40 and found that they were incorrect (even though I had changed them before and re-read the links! Go Figure.)
Anyway I changed them again and checked twice, getting the following both times so I hope they are right now. . .
But unfortunately it still didn't make things work! Sigh
I did remove the un-needed relay2 link.
Here are the ControlLinc to EZIO40 links. . .
IE, nada. Even though the ControlLinc works to control the EZIO40, nothing for the EZIO40 shows up in the PH Links Tab. What keeps appearing is the original PH db entries for the ControlLinc Button1 that I used for this EZIO test. In fact when I press Button1 I now control both the Table Light AND the EZIO40! That is, the linking to the EZIO40 didn't replace the Table LIght as I expected but appended the EZIO to the control!
I've saved/refreshed/rebuilt but nothing seems to show up. Is there a way to get PH to read the ControlLinc device links that I am missing?
Edited by GadgetGuy - December 02 2009 at 10:44
__________________ Ken B - Live every day like it's your last. Eventually, you'll get it right!
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: December 02 2009 at 10:51 | IP Logged
|
|
|
Adding the link for the EZIOO4 to the ControLinc adds an additional responder to the ControLinc button. You would have to unlink the other device to remove it from the ControLinc button. When you use the SHN Utility to display the EZIOO4 link records do you see the responder to link record for the ControLinc.
Also did you see my second post about using the ph_insteongroup and ph_insteongrouprawcu.
__________________ Lee G
|
Back to Top |
|
|
grif091 Super User
Joined: March 26 2008 Location: United States
Online Status: Offline Posts: 1357
|
Posted: December 02 2009 at 11:29 | IP Logged
|
|
|
I will be away from the forum for about 6 hours.
Edited by grif091 - December 02 2009 at 17:51
__________________ Lee G
|
Back to Top |
|
|
GadgetGuy Super User
Joined: June 01 2008 Location: United States
Online Status: Offline Posts: 942
|
Posted: December 02 2009 at 11:47 | IP Logged
|
|
|
I hadn't seen your 2nd post, so thanks for the notice.
I added the CU command to my test macro, but with no change in results. Macro looks like this now. . .
The ControlLinc links are as follows. . .
The first 12 links are for the existing devices controlled by my CL. The 13th record is the added link for the EZIO40, which I put on Button01 of the CL. Pressing that button now controls a table light and the EZIO40.
__________________ Ken B - Live every day like it's your last. Eventually, you'll get it right!
|
Back to Top |
|
|