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.

CM11A X10 (serial)

Questions and comments specific to a particular plugin should go here.
m3flyin2lo
Plugin Developer
Posts: 22
Joined: Sun Nov 23, 2008 3:22 am

Re: CM11A X10 (serial) plugin

Post by m3flyin2lo »

Ok, a couple of things.

Not all events are unknown. The log shows that the "A On" event was recognized properly. What device are you using to fire the "A1 On"? Because it doesn't look like it fires an "A1 On", it almost seems like it fires an address first, and then a separate On command. The '66' buffer is something that the plugin does not recognize, but looks a lot like an A1 address by itself. Normally this should be sent as a 0166 (the first byte is supposed to be the buffer length)

Based on the protocol I used, a proper A1 On command should be the following sequence: 03026662. In your case, two events get fired: a 66 and a 020162, which is A On.

Again, it could have something to do with the device you use to fire the commands or it could be that the protocol does not support this sort of communication.
vicx
Posts: 13
Joined: Sun Sep 06, 2009 11:34 am

Re: CM11A X10 (serial) plugin

Post by vicx »

I have used a wireless remote to program a wall switch module. It looks like I will need to find a better way to program the wall switch module than using the remote.

I'll look into programming the wall switch module via the CM11.

Thanks for the reply.

* m3flyin2lo, I think my CM11 compatible controller (Winplus HA125) is rebadged Marmitek CM12. I think it defaults to using extended codes messaging, even for simple on/off messages. Was reading through your code and experimenting, one day I might be able to get something working *
arturmaj
Posts: 23
Joined: Sun Apr 19, 2009 4:55 pm

Re: CM11A X10 (serial) plugin

Post by arturmaj »

First of all, thanks for the plugin m3flyinlo.
I am using CM11A and the signal is sent through TM751. I receive 2 events (exactly like Vicx):
- first is one byte with the digit showing house and last device code(66 - A1, 6D - A8 etc.)
- the other one is action - CM11A.A.On or CM11A.A.Off.
I am no good in programming. Could you help me in fixing the plugin so it works for me.
m3flyin2lo
Plugin Developer
Posts: 22
Joined: Sun Nov 23, 2008 3:22 am

Re: CM11A X10 (serial) plugin

Post by m3flyin2lo »

I'll take a look and get back to you.
m3flyin2lo
Plugin Developer
Posts: 22
Joined: Sun Nov 23, 2008 3:22 am

Re: CM11A X10 (serial) plugin

Post by m3flyin2lo »

OK, try the new version of the plugin from the message at the top of this thread.
It should now generate proper events, even when the incoming messages are split. Let me know how it works, I've had limited means of testing.
arturmaj
Posts: 23
Joined: Sun Apr 19, 2009 4:55 pm

Re: CM11A X10 (serial) plugin

Post by arturmaj »

It works perfect. It shoul work for vicx too.
Thank you.
adrenarush
Posts: 9
Joined: Thu Feb 04, 2010 3:02 am

Re: CM11A X10 (serial)

Post by adrenarush »

Hello, I am using an IBM Home Director HD11A, which I believe to be a CM11A that has been rebranded. For the most part it works and sends X10 commands to the lights, but I am receiving the following error when I attempt to do a Status Request, using Windows XP SP3 and EG 1387

8:11:24 AM CM11A: Status Request
8:11:24 AM CM11A status: battery timer= 0
8:11:24 AM CM11A status: time= 8 : 11 : 22
8:11:24 AM CM11A status: day of year= 43
8:11:24 AM CM11A status: day of week=Error in Action: "CM11A: Status Request"
8:11:24 AM Traceback (most recent call last) (1387):
8:11:24 AM File "C:\Program Files\EventGhost\eg\Classes\ActionBase.py", line 168, in CallWrapper
8:11:24 AM File "C:\Program Files\EventGhost\plugins\CM11A\__init__.py", line 314, in __call__
8:11:24 AM IndexError: list index out of range

Any ideas on how I might be able to correct this issue?
adrenarush
Posts: 9
Joined: Thu Feb 04, 2010 3:02 am

Re: CM11A X10 (serial)

Post by adrenarush »

Hmmm, working fine now. Not sure what changed. If issues come up again I will share.
miljbee
Experienced User
Posts: 146
Joined: Fri Mar 27, 2009 1:29 pm
Location: Orl├®ans, France

CM11A X10 (serial) : Features request ...

Post by miljbee »

Hello m3flyin2lo,

I am using your plugin, and it works great, thanks for that.

Anyway I would like to suggest 2 small improvements :
- The computer to which my CM11A is connected is plugged on an UPS.
- When the main power cuts, the computer still runs thanks to the ups.
- If when the power is cut I send An X10 command with your plugin, it hangs ...
Do you think you could have a fix for this ?

Something else :
when your plugin is used, it could store the commands it sends and receives and compute the state of the X10 receivers to optimize commands sent.
Let me give you an exemple :
eg starts and I send A1:All Units Off
=> At this point we know that All A units are off
thus, If I then send A2 Off, it's useless because, A2 is already off.

I would suggest that in this case, your plugin just ignores the command.
I am requesting this because X10 commands take a long time to be sent. I have a lot of X10 modules, and it could help me to speed up my macros.

Of course, this should be an action option, to let the final user decide if he wants to resend commands that might be useless or not.

Let me know what you think of this.

Regards,
miljbee
TCP Events : A Better Network Event Sender/Receiver Plugin.
The Network Event Sender/Receiver in C#
Get events in EG from Google Calendar.
m3flyin2lo
Plugin Developer
Posts: 22
Joined: Sun Nov 23, 2008 3:22 am

Re: CM11A X10 (serial) : Features request ...

Post by m3flyin2lo »

miljbee wrote:Hello m3flyin2lo,

I am using your plugin, and it works great, thanks for that.

Anyway I would like to suggest 2 small improvements :
- The computer to which my CM11A is connected is plugged on an UPS.
- When the main power cuts, the computer still runs thanks to the ups.
- If when the power is cut I send An X10 command with your plugin, it hangs ...
Do you think you could have a fix for this ?
Is the CM11A connected to the UPS too, or to the line with no power?
miljbee wrote:Something else :
when your plugin is used, it could store the commands it sends and receives and compute the state of the X10 receivers to optimize commands sent.
Let me give you an exemple :
eg starts and I send A1:All Units Off
=> At this point we know that All A units are off
thus, If I then send A2 Off, it's useless because, A2 is already off.

I would suggest that in this case, your plugin just ignores the command.
I am requesting this because X10 commands take a long time to be sent. I have a lot of X10 modules, and it could help me to speed up my macros.

Of course, this should be an action option, to let the final user decide if he wants to resend commands that might be useless or not.

Let me know what you think of this.

Regards,
There are several reasons why I would not put such functionality in the plugin. I think this is something that the user can handle outside the plugin, in a more targeted and detailed manner.
Even then, I would recommend against this because X10 is a very unreliable protocol. Sending an A1:All Units Off command provides absolutely no guarantee that all (or any) of the units actually do go off. By storing an Off state, the plugin would lock you out of another Off command, even when some units might still be On. It would be very easy for the state of the plugin to go out of sync with the actual state of the devices.
miljbee
Experienced User
Posts: 146
Joined: Fri Mar 27, 2009 1:29 pm
Location: Orl├®ans, France

Re: CM11A X10 (serial)

Post by miljbee »

Is the CM11A connected to the UPS too, or to the line with no power?
The line with no power, and I haven't put any battery in the CM11a.
There are several reasons why I would not put such functionality in the plugin. I think this is something that the user can handle outside the plugin, in a more targeted and detailed manner.
Even then, I would recommend against this because X10 is a very unreliable protocol. Sending an A1:All Units Off command provides absolutely no guarantee that all (or any) of the units actually do go off. By storing an Off state, the plugin would lock you out of another Off command, even when some units might still be On. It would be very easy for the state of the plugin to go out of sync with the actual state of the devices.
Yes, X10 has got a bad reputation with reliability, probably because there is no feedback.
Anyway, I have about twenty receivers, and they work great, I have never had to resend a command.
But, for sure some users experience problems with X10 reliability. That's why I proposed this functionnality as an option of your plugin actions that actually send X10 orders. I Mean, each time a command is sent or receive by the plugin, store the state of the corresponding unit. When the user set up an action to send an X10 command, let him choose, if he wants to always send it on the power line, or to only send it if it's needed. The default value could be set to always.

Of course, I can write a python script to handle this, but I thought it would be more efficient if it was built into the plugin.
miljbee
TCP Events : A Better Network Event Sender/Receiver Plugin.
The Network Event Sender/Receiver in C#
Get events in EG from Google Calendar.
Drabert
Posts: 19
Joined: Wed Feb 18, 2009 8:30 am

Re: CM11A X10 (serial)

Post by Drabert »

I am really hoping to get your plugin working. Using Home Control I am not having any problems getting the lights to respond, but with the eventghost app, it does not seem to be working. I do not get an error when sending a command but the light does not respond. If i do the status request i do get an error.

2:38:43 AM CM11A: Status Request
2:38:43 AM CM11A status: battery timer=RESET
2:38:43 AM CM11A status: time= 2 : 38 : 43
2:38:43 AM CM11A status: day of year= 243
2:38:43 AM CM11A status: day of week=Error in Action: "CM11A: Status Request"
2:38:43 AM Traceback (most recent call last) (1194):
2:38:43 AM File "C:\Program Files\EventGhost\eg\Classes\ActionBase.py", line 168, in CallWrapper
2:38:43 AM File "C:\Program Files\EventGhost\plugins\CM11A\__init__.py", line 314, in __call__
2:38:43 AM IndexError: list index out of range

any suggestions?
bend
Posts: 2
Joined: Wed Sep 22, 2010 2:31 am

Re: CM11A X10 (serial)

Post by bend »

Hey there,
I too am having problems with your plugin, when i try to execute a command the following is returned in the log:
CM11A: G5 : On
6
The handle is invalid.
Please tell me what I am doing wrong.
I have got V0.3.7 of EventGhost and have the latest plugin downloaded with the py script you mentioned, installed in the eg/classes folder.
rich66
Posts: 2
Joined: Sun May 26, 2013 9:30 pm

Re: CM11A X10 (serial)

Post by rich66 »

Hello,

I have added support of extended code to this plugin.
Not full support though, only command 0x31 (PRESET RECEIVER O/P on this HC DC)

For X10 devices that support it, it basically allows to set the brightness level regardless of the current level.
There is also a "timing" parameter to adjust the dimming speed.

I have attached the python file.

KR

Richard

PS: I was impressed by the architecture of EG, it was easy to get into it and the documentation is well made. :D
Attachments
__init__.py
CM11A plugin file
(16.43 KiB) Downloaded 258 times
Post Reply