Notice: This forum has been recovered from an old backup, so some content, links, and dates may be outdated. The forum is currently read-only while we restore sign-in and registration functionality. Details

If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.

X10 CM15A

Questions and comments specific to a particular plugin should go here.
skyanchor
Posts: 3
Joined: Fri Aug 26, 2011 9:20 am
Location: Minnesota
Contact:

Re: X10 CM15A

Post by skyanchor »

I'm getting the same error as ijourneaux. This just started happening upon upgrading EventGhost to the latest version (0.4.1.r1540) from an older version.
ijourneaux
Experienced User
Posts: 102
Joined: Wed Feb 17, 2010 2:20 am

Re: X10 CM15A

Post by ijourneaux »

I had it working on an older version of EventGhost as well. Just getting around to getting the CM15A pluging to work after I migrated to EventGhost. THe Version I was using before was dated before the migration to the new web site. I am not sure if that version is still available.
ijourneaux
Experienced User
Posts: 102
Joined: Wed Feb 17, 2010 2:20 am

Re: X10 CM15A

Post by ijourneaux »

As a side question where would you locate the old versions of EventGhost?
ijourneaux
Experienced User
Posts: 102
Joined: Wed Feb 17, 2010 2:20 am

Re: X10 CM15A

Post by ijourneaux »

I am not sure how to debug python erros but here is the traceback when I enable the cm15a plugin.

Error starting plugin: X10_CM15A
Traceback (most recent call last) (1540):
File "C:\Program Files\EventGhost\eg\Classes\PluginInstanceInfo.py", line 177, in Start
self.instance.__start__(*self.args)
File "C:\Program Files\EventGhost\plugins\X10-CM15A\__init__.py", line 100, in __start__
self.conn = comcli.GetEvents(cm15a, eventHandler)
File "comtypes\client\_events.pyc", line 195, in GetEvents
File "comtypes\client\_events.pyc", line 164, in CreateEventReceiver
File "comtypes\_comobject.pyc", line 348, in __new__
File "comtypes\_comobject.pyc", line 386, in __prepare_comobject
File "comtypes\_comobject.pyc", line 448, in __make_interface_pointer
File "comtypes\_comobject.pyc", line 473, in __make_dispentry
File "comtypes\_comobject.pyc", line 171, in get_impl
File "comtypes\_comobject.pyc", line 195, in find_impl
File "comtypes\client\_events.pyc", line 143, in find_method
RuntimeError: 'function' object has no attribute 'im_self'
ijourneaux
Experienced User
Posts: 102
Joined: Wed Feb 17, 2010 2:20 am

Re: X10 CM15A

Post by ijourneaux »

Ok Moved to another computer vergin install of everything with the correct cm15a plugin (read through the thread to find the file that includes comtypes inside the CM15a folder)

This still doesn't work but the error is simplier.
Basically the attempt to create the comobject to X10 generates an exception.

cm15a = comcli.CreateObject("X10.ActiveHome")

Any one ahve an idea on how to correcdt this problem?
ijourneaux
Experienced User
Posts: 102
Joined: Wed Feb 17, 2010 2:20 am

Re: X10 CM15A

Post by ijourneaux »

After having a few different errors which caused me to go down rat holes that went now where I finally figured it out.

Here is the steps (Thanks to everyone in the thread).

1. You don't need to install Comtypes as what is needed is included in the plugin

2. Install the X10 ActiveHome Pro SDK
http://www.x10.com/activehomepro/sdk/

3. Download the X10 CM15A plugin from (about half way down the page)
http://www.eventghost.org/forum/viewtop ... 1&start=15

4. When extracted, the X10-CM15A folder and files are readonly so select the folder and remove the read-only protection.

5. You should be good to go.

Although it isn't needed for the plugin to work, if you need ActiveHome Pro, you can get it from

http://www.activehomepro.eu/

The European version doesn't seem to need a registration code.
skyanchor
Posts: 3
Joined: Fri Aug 26, 2011 9:20 am
Location: Minnesota
Contact:

Re: X10 CM15A

Post by skyanchor »

Thanks much, ijourneaux, for your effort in getting past the problem and sharing your instructions.

I'd like to share something here as well, in hopes others can both use it and possibly improve upon it. It addresses the issue of "freezing" or "event caching" that others have complained about, which I had been experiencing as well. There are no changes to the existing CM15A plugin code, other than to expose another COM method: "PumpEvents". By using this method as an action in my EventGhost script, I am able to get consistently reliable performance, tested over many days. I'll provide script examples in a separate post. (BTW, I'm successfully using the CM15A plugin with a CM19A!)

Add inside class Text:

Code: Select all

    class PumpEvents:
        name = "Pump Events"
        description = "clears pending x10 commands";      
 
Add before class TransmitX10(eg.ActionClass):

Code: Select all

class PumpEvents(eg.ActionClass):    
    def __call__(self):
        comcli.PumpEvents(1);
Add as the last line of def __init__(self):

Code: Select all

        self.AddAction(PumpEvents)
Attachments
__init__.py
CM15A __init__.py w/PumpEvents
(9.25 KiB) Downloaded 433 times
skyanchor
Posts: 3
Joined: Fri Aug 26, 2011 9:20 am
Location: Minnesota
Contact:

Re: X10 CM15A

Post by skyanchor »

The attached XML configuration example shows my use of the modified CM15A plugin with the PumpEvents action, several X10 MS14A motion detectors and a CM19A (should work without modification on a CM15A--let me know). The timer delays are to space out the text-to-speech announcements to a reasonable spacing and discard extra. So if, for example, there is a cat on the deck and a possum on the patio at the same time, the announcements aren't too hurried or repetitive, yet without missing one or the other. It was basically a lot of experimentation to tweak everything closer to the way I wanted it, and it's still a work in progress.
Attachments
CM15A PumpEvents example.xml
CM15/19A PumpEvents example
(7.22 KiB) Downloaded 370 times
Tal56
Posts: 20
Joined: Tue Jun 22, 2010 6:47 pm

Re: X10 CM15A

Post by Tal56 »

Yeah, that was the solution I posted on Page 3, sorry I didn't read this thread sooner or I would have pointed that out to you guys. I hope someone can repack that plugin without the 'read only' attribute turned on, it's going to be a problem for anyone who wants to test EG with a CM15a.

Really glad to see there's more people using this now, already I can see there's more support for the code which is good for us X-10 people lol.

ijourneaux wrote:After having a few different errors which caused me to go down rat holes that went now where I finally figured it out.

Here is the steps (Thanks to everyone in the thread).

1. You don't need to install Comtypes as what is needed is included in the plugin

2. Install the X10 ActiveHome Pro SDK
http://www.x10.com/activehomepro/sdk/

3. Download the X10 CM15A plugin from (about half way down the page)
http://www.eventghost.org/forum/viewtop ... 1&start=15

4. When extracted, the X10-CM15A folder and files are readonly so select the folder and remove the read-only protection.

5. You should be good to go.

Although it isn't needed for the plugin to work, if you need ActiveHome Pro, you can get it from

http://www.activehomepro.eu/

The European version doesn't seem to need a registration code.
Tal56
Posts: 20
Joined: Tue Jun 22, 2010 6:47 pm

Re: X10 CM15A

Post by Tal56 »

As a side note, has anyone here modified their CM15a's antenna to receive signals from further? I haven't done mine yet but will be doing it soon as anything over 10 feet from the CM15a will not reach it.
Tal56
Posts: 20
Joined: Tue Jun 22, 2010 6:47 pm

Re: X10 CM15A

Post by Tal56 »

Definitely going to test this later this week, thanks !!!!
skyanchor wrote:Thanks much, ijourneaux, for your effort in getting past the problem and sharing your instructions.

I'd like to share something here as well, in hopes others can both use it and possibly improve upon it. It addresses the issue of "freezing" or "event caching" that others have complained about, which I had been experiencing as well. There are no changes to the existing CM15A plugin code, other than to expose another COM method: "PumpEvents". By using this method as an action in my EventGhost script, I am able to get consistently reliable performance, tested over many days. I'll provide script examples in a separate post. (BTW, I'm successfully using the CM15A plugin with a CM19A!)

Add inside class Text:

Code: Select all

    class PumpEvents:
        name = "Pump Events"
        description = "clears pending x10 commands";      
 
Add before class TransmitX10(eg.ActionClass):

Code: Select all

class PumpEvents(eg.ActionClass):    
    def __call__(self):
        comcli.PumpEvents(1);
Add as the last line of def __init__(self):

Code: Select all

        self.AddAction(PumpEvents)
Chris
Posts: 5
Joined: Sat Jan 26, 2013 11:43 pm

Re: X10 CM15A

Post by Chris »

Hi,

Is anyone using this plugin at all? I've tried it and it works great for transmitting, however when it receives X10 signals such as from a remote or motion sensor etc, it will freeze after receiving the first signal. So it registers the first action, but then it will not receive another, seems to get stuck. I'm not a python coder so not sure why it's getting stuck but was wondering if anyone else may be using this plugin and is having the same problem? Any way to fix this? Thanks
yeti
Posts: 1
Joined: Mon Jan 09, 2012 6:24 pm

Re: X10 CM15A

Post by yeti »

I'm getting the following error:

11:26:00 Error starting plugin: X10_CM15A
11:26:00 Traceback (most recent call last) (1610):
11:26:00 File "C:\Program Files (x86)\EventGhost\eg\Classes\PluginInstanceInfo.py", line 177, in Start
11:26:00 self.instance.__start__(*self.args)
11:26:00 File "C:\Program Files (x86)\EventGhost\plugins\X10-CM15A\__init__.py", line 99, in __start__
11:26:00 except msg:
11:26:00 NameError: global name 'msg' is not defined


I had this working in the past and have all the drivers installed (also am using a CM19a) and removed the read-only from the files. I'm not sure if it stopped working after upgrading EventGhost or switching to Window 7 64 bit. Any help or suggestions would be appreciated.
eruji
Posts: 12
Joined: Tue Apr 01, 2008 8:56 pm

Re: X10 CM15A

Post by eruji »

Chris wrote:Hi,

Is anyone using this plugin at all? I've tried it and it works great for transmitting, however when it receives X10 signals such as from a remote or motion sensor etc, it will freeze after receiving the first signal. So it registers the first action, but then it will not receive another, seems to get stuck. I'm not a python coder so not sure why it's getting stuck but was wondering if anyone else may be using this plugin and is having the same problem? Any way to fix this? Thanks

I think i notice the same results. So i have my cm19a and an eagle eye motion detector ms14a. It will register the first ON of OFF event, then never again. Is this what your experiencing?

But, when i replace the init.py with the one that ijourneaux provided a few posts above AND i run his sample xml file (system active) it then seems to pickup the transmitted ON or OFF signals.. and it runs a timer that checks for motion. BTW, i reduced the timer Pump to 30sec just for testing, have not implemented this into my home yet.

Edit: Looking closer at the xml that ijourneaux provided i can see that the X10_CM15A: Pump Events is clearing the "cache" of motion items which seems to be causing the plugin to not receive any more ON or OFF transmits. It seems to me that if we could pass the motion items as events and the plugin could clear the cache on each then it would be more useful. Any ideas how to do that?
Chris
Posts: 5
Joined: Sat Jan 26, 2013 11:43 pm

Re: X10 CM15A

Post by Chris »

Yes, that's exactly what I'm experiencing, only the first command gets logged, then after that the system seems to lock up and not post any new events. I'm using the updated init.py file but did not try the sample xml file he included. I guess it needs the extra pump events in the xml file to clear the cache. It would be nice to have something in the init.py clear the cache instead of having to use the pump events in the config.xml. Unfortunately I'm not a python programmer so don't know how to add the pump events cache clearing after each command is received. Also I'm on my holidays right now for a couple more weeks so can't test the sample xml file until I get home, I'm looking forward to it now lol
Post Reply