I've done some testing with the new X10 dll. So far, things look bad unfortunately. What I've found so far:
- Commands take a long time to execute
- My test code doesn't execute at all
- The wrong commands may be sent
1) The following is an example of turning on a light in the web interface by selecting toggle or ON buttons:
2014-04-23T20:51:23.5422280-07:00 HomeAutomation.X10 A6 - Status.Level 0
2014-04-23T20:51:27.0535810-07:00 MIG.Gateways.WebServiceGateway 192.168.0.100 api/HomeAutomation.HomeGenie/Logging/RealTime.EventStream/ HTTP GET
2014-04-23T20:51:28.3538690-07:00 MIG.Gateways.WebServiceGateway 192.168.0.5 api/HomeAutomation.HomeGenie/Config/Interfaces.List/1398311522266 HTTP GET
2014-04-23T20:51:28.4992150-07:00 MIG.Gateways.WebServiceGateway 192.168.0.100 api/HomeAutomation.HomeGenie/Config/Interfaces.List/1398311535575 HTTP GET
[20:51:28.627269] X10 < 06 63
[20:51:29.906193] X10 > 55
This shows that the command A6 ON is sent after nearly 5 seconds. Some times I found it respond very quickly, but many times it was very slow.
2) I ran my test code in 2 ways. Attempt 1 was using the light switch to send an X10 command "B6 ON" which should trigger HG to send "A6 ON". I found that sometimes it works, but other times it doesn't send the "A6 ON" command. The following was a success:
[21:02:05.336049] X10 > 5A 02 00 E9
[21:02:05.339821] X10 > PLCRX: 5A 02 00 E9
[21:02:05.342002] X10 > FNMAP: 00
[21:02:05.344239] X10 > DATA: E9
[21:02:05.346606] X10 > 0) House code = B
[21:02:05.348882] X10 > 0) Unit code = 6
[21:02:05.518999] X10 > 5C 00 1D
[21:02:05.712840] X10 > 5A 02 01 E2
[21:02:05.715674] X10 > PLCRX: 5A 02 01 E2
[21:02:05.717753] X10 > FNMAP: 01
[21:02:05.719999] X10 > DATA: E2
[21:02:05.722258] X10 > 0) House code = B
[21:02:05.724444] X10 > 0) Command = ON
2014-04-23T21:02:05.7315590-07:00 HomeAutomation.X10 B6 - Status.Level 1
2014-04-23T21:02:05.7411470-07:00 HomeAutomation.X10 A6 - Status.Level 1
[21:02:05.838967] X10 < 04 69
[21:02:06.913538] X10 > 55
[21:02:06.920679] X10 < 06 62
[21:02:07.347125] X10 > 5C 00 1D
In this case, the total time for execution was 2.011 seconds plus whatever transmission takes (minimal in this case). A second case where it was super slow:
[21:07:49.816736] X10 > 5A 02 00 E9
[21:07:49.820036] X10 > PLCRX: 5A 02 00 E9
[21:07:49.823022] X10 > FNMAP: 00
[21:07:49.825751] X10 > DATA: E9
[21:07:49.828297] X10 > 0) House code = B
[21:07:49.830415] X10 > 0) Unit code = 6
[21:07:50.055838] X10 > 5C 00 1D
[21:07:50.249933] X10 > 5A 02 01 E3
[21:07:50.252976] X10 > PLCRX: 5A 02 01 E3
[21:07:50.255945] X10 > FNMAP: 01
[21:07:50.258716] X10 > DATA: E3
[21:07:50.261167] X10 > 0) House code = B
[21:07:50.263242] X10 > 0) Command = OFF
2014-04-23T21:07:50.2660500-07:00 HomeAutomation.X10 B6 - Status.Level 0
2014-04-23T21:07:50.2751540-07:00 HomeAutomation.X10 A6 - Status.Level 0
2014-04-23T21:07:51.4034150-07:00 MIG.Gateways.WebServiceGateway 192.168.0.100 api/HomeAutomation.HomeGenie/Config/Interfaces.List/1398312518351 HTTP GET
2014-04-23T21:07:52.4117290-07:00 MIG.Gateways.WebServiceGateway 192.168.0.100 api/HomeAutomation.HomeGenie/Logging/RealTime.EventStream/ HTTP GET
[21:07:55.331273] X10 < 06 63
[21:07:55.746802] X10 > 55
2014-04-23T21:07:58.4575890-07:00 MIG.Gateways.WebServiceGateway 192.168.0.100 api/HomeAutomation.HomeGenie/Config/Interfaces.List/1398312525575 HTTP GET
2014-04-23T21:07:58.7834590-07:00 HomeAutomation.HomeGenie.Automation 35 Automation Program Program.Status Running
2014-04-23T21:07:58.7997080-07:00 HomeAutomation.HomeGenie.Automation 35 Automation Program Program.Status Idle
2014-04-23T21:07:59.6727100-07:00 MIG.Gateways.WebServiceGateway 192.168.0.100 api/HomeAutomation.HomeGenie/Config/Modules.Get/HomeAutomation.HomeGenie.Automation/35/1398312526775 HTTP POST
2014-04-23T21:07:59.6828790-07:00 MIG.Gateways.WebServiceGateway 192.168.0.100 api/HomeAutomation.HomeGenie/Config/Modules.Get/HomeAutomation.HomeGenie.Automation/35/1398312526782 HTTP POST
[21:07:59.703400] X10 > 5C 00 18
Total transmission time from B6 OFF to A6 OFF was 9.886 seconds. I had a couple times where nothing happened at all.
3) I have a signal monitor that tells me what's going on with PLC, noise, signal strength, etc. In the cases where the lights don't work as expected, I'm seeing:
B6 ON
Axx ON
When I viewed commands with the older X10 dll, I would see:
B6 ON
A6 ON
I think what must be going on is that I confused the issue when I told you about multiple house/unit codes. This only works when it's the same house code. So, you can turn all lights with house code A and unit codes 2-5 on at the same time by giving the following:
A2
A3
A4
A5
A ON
If you want to control more than one unit but they are different house codes, you cannot combine this way. A6 and B6 would have to be:
A6
A ON
B6
B ON
There is a way to set things up using scenes with extended codes, but I'm not familiar with this approach and could not provide any input.
I'm not positive this is the issue with the implementation, but I can say that something has significantly regressed as far as speed goes.