X10 Community Forum

🔌General Home Automation => Original ActiveHome => Topic started by: marineau on January 04, 2007, 11:21:15 PM

Title: increase speed towards the CM11A
Post by: marineau on January 04, 2007, 11:21:15 PM
I'm trying to to increase speed towards the CM11A !
Note that I don't use a SDK but speak directly to serial port !

these two first methods work fine, but third and fourth don't work:

Send = Send character to serial port connected to CM11A
wait checksum = wait a respond from serial port

Method 1 for B8-ON:
   Send chr(4) & chr(237)
      wait checksum
   Send chr(0)
      wait checksum
   Send chr(6) & chr(226)
      wait checksum
    Send chr(0)
This method is 1516 ms (1 1/2 sec)


Method 2 for B8-ON:
   Send chr(4) & chr(237) & chr(0)
     wait checksum
   Send chr(6) & chr(226)
     wait checksum
   Send chr(0)
This methode is 504 ms (1/2 sec)


I tried this method, but don't work:
   Send chr(4) & chr(237) & chr(0)
     wait checksum
   Send chr(6) & chr(226) & chr(0)
     wait checksum
This method don't work


I tried this method, but don't work:
   Send chr(4) & chr(237) & chr(6) & chr(226) & chr(0)
     wait checksum
This method don't work


Is it possible to sent in one shoot, all character to CM11A for increase a speed ?
Do you know another method  ?

Title: Re: increase speed towards the CM11A
Post by: Charles Sullivan on January 05, 2007, 11:11:50 AM
You are mistaken in believing that your Method 2 works.  The address is NOT being transmitted - the module merely remains addressed from a previous command.  Prove this to yourself by first sending a "B  AllUnitsOff" command, then try your Method 2 again.

There's nothing you can do to appreciably speed up X10 - it actually takes about 0.7 seconds for each X10 signal to be transmitted over the power line.   That would  be 0.7 seconds for the B8 address and another 0.7 seconds for the B-On function.

Title: Re: increase speed towards the CM11A
Post by: marineau on January 05, 2007, 04:59:30 PM
Charles,

You are right, I just tried to
- send B8 ON (METHOD2) with software : Work fine...
- press to B7 ON on my mini controller.... : Work fine
- sent a second time a same command (B8 ON) with a software.... and oupps B7 turrned ON  >:(

Does I understood your response and that it impossible to send one shot two commands ?
Is it possible to bypass a wait checksum function   ?
Is it possible to speeding a command with another module instead of CM11A or other method  ?
Title: Re: increase speed towards the CM11A
Post by: Charles Sullivan on January 05, 2007, 08:32:52 PM
Charles,

You are right, I just tried to
- send B8 ON (METHOD2) with software : Work fine...
- press to B7 ON on my mini controller.... : Work fine
- sent a second time a same command (B8 ON) with a software.... and oupps B7 turrned ON  >:(

Does I understood your response and that it impossible to send one shot two commands ?

Yes, that is correct.

Quote
Is it possible to bypass a wait checksum function   ?

Not to my knowledge with a CM11A

Quote
Is it possible to speeding a command with another module instead of CM11A or other method  ?

This article explains the details of an X10 transmission:  http://www.hometoys.com/article.php4?displayid=282

You could probably cut the time by half by using a TW523/PSC05 instead of a CM11A, but that requires a microcontroller to drive it.  The Smarthome 1132B doesn't require waiting for a checksum, but I don't know how much faster than a CM11A it would actually be - you have to first send it an "alert" command and wait for it to respond that it is ready to accept your X10 command.


Title: Re: increase speed towards the CM11A
Post by: marineau on January 05, 2007, 11:37:08 PM
You could probably cut the time by half by using a TW523/PSC05 instead of a CM11A, but that requires a microcontroller to drive it.  The Smarthome 1132B doesn't require waiting for a checksum, but I don't know how much faster than a CM11A it would actually be - you have to first send it an "alert" command and wait for it to respond that it is ready to accept your X10 command.

I have source code of Synapse from  SmartHome. Like you said, 1132B, maybe, don't need to wait !!! But not sure... maybe that it a serial port that needing a checksum... Like a modem 56K !

I tought to use a HouseCode(A) for all remote RF and MiniController and use HouseCode(b,c,d,e,f,g,h,i,j,k,l,m) and once LampModul on each HouseCode to UnitCode(16). When needing to control a lamp just sent AllLightOn. I believe that this method would be speedy !
With CM15A I could receive All RF Command in my software and could send appropriate  command to another HouseCode(M) with AllLightsOn over CM11A to turn ON a lamp M16

Is it a good idea ?
Title: Re: increase speed towards the CM11A
Post by: Charles Sullivan on January 06, 2007, 02:27:25 AM
You could probably cut the time by half by using a TW523/PSC05 instead of a CM11A, but that requires a microcontroller to drive it.  The Smarthome 1132B doesn't require waiting for a checksum, but I don't know how much faster than a CM11A it would actually be - you have to first send it an "alert" command and wait for it to respond that it is ready to accept your X10 command.

I have source code of Synapse from  SmartHome. Like you said, 1132B, maybe, don't need to wait !!! But not sure... maybe that it a serial port that needing a checksum... Like a modem 56K !

Synapse (binary executable) never worked for me on either Win 98SE or Win XP.

Quote
I tought to use a HouseCode(A) for all remote RF and MiniController and use HouseCode(b,c,d,e,f,g,h,i,j,k,l,m) and once LampModul on each HouseCode to UnitCode(16). When needing to control a lamp just sent AllLightOn. I believe that this method would be speedy !
With CM15A I could receive All RF Command in my software and could send appropriate  command to another HouseCode(M) with AllLightsOn over CM11A to turn ON a lamp M16
[/b]

Is it a good idea ?

You're limited to 12 lamp modules then.  Using the CM15A to execute macros may be slower than sending the command directly - you'll have to try it to find out.

If you are so concerned about speed, you probably need to investigate other technologies.


Title: Re: increase speed towards the CM11A
Post by: marineau on January 06, 2007, 09:02:23 AM
Synapse (binary executable) never worked for me on either Win 98SE or Win XP.

So, if you have 1132b, how time needing to turn ON or OFF a modul with your software ?

You're limited to 12 lamp modules then.  Using the CM15A to execute macros may be slower than sending the command directly - you'll have to try it to find out.

Yes, I tried 2 months ago, and it very slow.... 3 seconds for a Macro !
Today, with CM15A for receive RF signal and with CM11A to sent to powerLine, I obtain 1.200sec
If I decide to use the AllLightsOn method, I obtain .600ms for each command

If you are so concerned about speed, you probably need to investigate other technologies.

Too late... I bought 400$ of (8)MS14A, LM465(15), SS13A(10), and others module (Probably tha I will regret my choice of X10 and my purchase) ...

All RF controller are fast, under 50ms ! I have many MS14A in many rooms.
I want able to disable any MS14A while a day, sleeping time or others periods.
I want that a light turn ON fastly when I'm to introduce in a room !
I want to define each SS13A like this:
  - First button to turn ON ON a lamp
  - Second Button to able or disable a MS14A
  - Third Button to Preset a DIM function, or other macro !
  - Fourth Button, Ignore DIM/Bright function and create Macro to others function !
As you can read, I want that all modules work with Macros.

But maybe your idea about 1132b could be a best, but I want know his exact speed before to buy !
If anyone have a 1132b (or any 1132 model) and can tell us about a delay that our software needing to turn ON or OFF, you are welcome  :)

Thanks
Title: Re: increase speed towards the CM11A
Post by: Charles Sullivan on January 06, 2007, 11:57:29 AM
Synapse (binary executable) never worked for me on either Win 98SE or Win XP.

So, if you have 1132b, how time needing to turn ON or OFF a modul with your software ?

I bought the  WGL V572 Transceiver from Smarthome in a kit which uses the 1132B as the interface to the power line.  I sent and received a few commands manually to see whether it would be worthwhile to include support for the 1132B in my software, but it turned out to be inferior to the CM11A in its receiving capability.  E.g., it reports only "Dim" when it receives any X10 powerline Dim signal regardless of the dim level, which makes it impossible to even estimate the dimmed state of a module from received powerline signals.

As I mentioned earlier, to send a command to the 1132B required first sending an "alert" byte and waiting for it to respond that it's "ready".
I just sent the byte from the command line and waited for 1 second before continuing with the actual command, so it was not possible to time it for speed.


Title: Re: increase speed towards the CM11A
Post by: Brian H on January 06, 2007, 05:17:10 PM
I will try to do a few tests tonight with an 1132B. The  Synapse for Windows program has an option to send HC+UC+FC all in one transmission, but as a Windows GUI program timing maybe hard to do. Will use a separate computer X10 monitor to see if I can see anything.

I was correct in my thoughts on accurate timing. Between 1 and 2 seconds was all I can detect from the click of the function and its happening.

The 1132B has both a serial port and the Clone of the TW523 iinterface in it so it can be used two different ways.