Question

X-10 CM11A

Asked by: Neo55378008

I'm trying to figure out how to communicate with the CM11A X-10 device through something like Hyperterminal. I tried to follow the protocal (http://www.smarthome.com/manuals/protocol.txt) but when I connect, nothing shows, and I can't type anything. Does anyone know how to manually communicate with this device?

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2005-12-07 at 15:46:32ID21657138
Tags

cm11a

Topic

Miscellaneous Hardware

Participating Experts
2
Points
250
Comments
29

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. HyperTerminal error
    When I try to dial, I am getting the error that says another program is using the selected Telephony device. I do ctrl-alt-del and end every task except Explorer, HyperTerminal new connection, and HyperTerminal itself, but I still get the same error message. Any ideas? cas...
  2. Hyperterminal Command
    Hello, I need the Hyperterminal ATI commands to wait for an answer after dialing a number. I need this command for a Visual Basic Dialer program that uses the ATI commands (that can be run in Hyperterminal). Please do not paste a link here, but provide the actual command. ...
  3. Connect to my baystack 450 with hyperterminal
    I just picked up a nortel baystack 450-24t and can't connect to it via the console port. I've got 3 RJ45-to-serial connectors: 2 straight through, and 1 null ... i need to know what cable setup to use the hyperterminal settings
  4. Accept incoming SMS to GM862 GSM device HyperTermi…
    I have a Telit GM862 GSM device interfaced with HyperTerminal. I can send SMS and I can receive incoming calls, but for some reason I cannot receive incoming SMS. If I do a AT+CMGL="REC UNREAD" it returns OK, as if there are no new messages. If I take the SIM car...
  5. where is hyperterminal for windows 7
    where is hyperterminal for windows 7 both terminal client and terminal server is install
  6. Capturing text from Hyperterminal
    I need a program similar to Hyperterminal that will auto capture the text, save the file at certain time everyday, using sequential file name. Emailing the file is great feature. I dont want to walk up to the computer and manually stop the text, save it in a file, then star...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: nomorefuzzylogicPosted on 2005-12-08 at 07:58:32ID: 15445448

I haven't tried yet to communicate using Hyperterminal because this could work out tricky as the codes must be transmitted in Binary - are you using Alt+number keys to generate your bytes?
Not only that but my PC is plugged in to the CM (hope the neighbours don't start playing around).
Any responses received may not be mapped to printable characters.
Do you have access to an ASCII character table?

 

by: Neo55378008Posted on 2005-12-08 at 16:05:58ID: 15449474

I don't know much about Hyperterminal, how would I find out if I have access to an ASCII character table?

 

by: nomorefuzzylogicPosted on 2005-12-08 at 16:36:22ID: 15449670

Ah! - Take a look at http://www.bbdsoft.com/ascii.html or do a google on "ascii character table"!
The ASCII code table will show you the 8 bit binary values (0 through 255) and the associated characters - only some are actually shown on the keyboard! The remainder will have to be entered using control sequences or ALT-Numkeys.
You will have noted that your comms port has to be set to No Parity - that is because otherwise you will only be able to send 128 different codes using 7 bits - the 8th bit is the parity bit which will be generated automatically - no good at all in this case.

So how were you going to send your binary codes over the serial port using Hyperterminal?
Note that the codes specified in the instructions for the CM11 are binary and you will be sending these binary values over the serial interface in groups of 8 bits (== 1 byte).
You therefore have to work out what character you have to type on the keyboard to generate the appropriate 8 binary bits to send to the CM11.
It might sound complicated if you haven't had to worry about binary bits before - Windows hides all this from users - but if you Google for "serial communications" and read up about it you should soon understand what is needed.

 

by: Neo55378008Posted on 2005-12-08 at 16:41:43ID: 15449695

Yeah I don't have any experience with serial port communication. Can you recommend a good tutorial site?

 

by: Neo55378008Posted on 2005-12-08 at 22:16:14ID: 15450803

Ok, I figured out the ASCII character table, I actually did know it, just didn't know what it was called, lol. Anyway, does the protocol make ny sense to you? It seems like I have to trasmit some sort of header:code first, and then the codes for the device.

 

by: CarlosMMartinsPosted on 2005-12-09 at 04:00:34ID: 15451767

What exactly are you trying to accomplish with that?
You can get the x10 SDK and "bypass" all those "low level" affairs.

This thread:
http://www.x10.com/news/msgb/index.cgi?board=ahp-sdk&action=read&postid=000027&topid=700&numof=

gives some indication on how to use the SDK dll in a vb.net project, and has a "sample program" in there.

 

by: Neo55378008Posted on 2005-12-10 at 02:28:54ID: 15458183

The SDK seems to be for the CM15, not the CM11A. When I tried to run some of the precompiled executables, I couldn't get them to send commands (at least, I didn't see the lights come one and off).

 

by: CarlosMMartinsPosted on 2005-12-10 at 05:57:15ID: 15458546

Try this one, it's in french, but the guy states the same: that he couldn't find a vb example for cm11, so he built one.
He talks about a freeware active X component, I don't know if he's using it or not.
See if it helps.
http://www.vbfrance.com/code.aspx?ID=34574

 

by: Neo55378008Posted on 2005-12-10 at 11:14:30ID: 15459602

Does anyone just understand the protocol file? I think I understand most of it, when I send out the codes I just have to convet the binary to hex and then look up that value in an ASCII table, but I don't really understand the house:code thing that I have to send out first.

 

by: Neo55378008Posted on 2005-12-10 at 11:21:03ID: 15459620

By house:code I mean header:code. Its a special byte that I have to send out first, and I dont understand how to complie it. I thought I understood it, the 7-0 represents the binary places, so it said the first few were the dim code (22 = 100) so I converted 22 to binary and got 10110, a 5 bit code as expected, then it says bit 2 should always be a 1, so that gives me 101101, then it says 0 for address and 0 for transmision, giving me 10110100, but when I convert this to hex and enter the ASCII code, it doesn't seem to work. Also, I can never get any response from the device as far as a checksum. However, if I send out an X-10 code say from my RF remote, I will see the interfaces' polling data 0xc3 (wich is ASCII for Z, and I see Z every second in hyperterminal).

 

by: nomorefuzzylogicPosted on 2005-12-11 at 05:37:10ID: 15461794

The "Header:Code" is 2 bytes = 16 bits

Your first byte is "10110100" that you describe above

Then you need the second byte which is the 4 bit housecode + 4 bit device code.

So you end up with 2 characters to be transmitted before you would get the checksum

Then you send a 1 byte Acknowledge to which you receive 1 byte "ready" (0X55) back

 

by: Neo55378008Posted on 2005-12-11 at 23:08:56ID: 15464675

Still not fully understandng it. So I start off with the 10110100 converted to hex is 0xB4, then I send the housecode + the device code, for example A1 would be 01100110 and in hex 0x66. Then I should recieve a checksum, to which I reply with 0x00, and I'll get a reply of 0x55. Is that correct? I know you can't enter hex into Hyperterminal, but I have another program that accepts hex codes and sends them to the com port, but when I entered what I just typed, I didn't get anything.

Also, is this considered low level programming? I was considerng taking a low level programming course in the next couple of semesters, would I learn how to do this type of stuff there?

 

by: CarlosMMartinsPosted on 2005-12-12 at 02:21:34ID: 15465223

I think the protocol might also require the bytes to be sent within some timeframe. If you're "typing" it, or sending it one by one manually, it may time out and fail to perceive it as a valid message.

 

by: nomorefuzzylogicPosted on 2005-12-12 at 03:54:18ID: 15465546

Low level programming is the art of making up instructions to the CPU in the same way you are making up these instructions to the CM11 so there are similarities.
Tricky if you had to encode each instruction in binary bits so an "Assembly" language is used where you use mnemonics to indicate the instructions: eg    "LDA   0x25" to load byte register A with hex value 25 and an "assembler" (a low level compiler) then converts the "code" you have written into the binary strings that will be ´read´and executed by the CPU.

Anyway Carlos makes a good point that I forgot to mention - any controller receiving instructions is likely to have a timeout so that it can recover from broken data streams and this timeout is likely to be based on the expected receive rate - hence you should try to send both bytes 'together' - with no delay.

You do have your serial port configured for No Parity as well as the speed defined in the spec? You have said that you can receive and display codes from the CM11 - this would be true even if the parity setting was incorrect although there would be a good chance that the character you saw was not really the character that was transmitted. However - when you are sending data the CM11 will check and presumably ignore bytes that do not make sense - and the parity setting will likely corrupt bit 2^7 of each byte unless it is disabled.

 

by: Neo55378008Posted on 2005-12-12 at 12:15:15ID: 15469115

Yeah, I have all the settings correct. I noticed hypterterminal has an option to send a txt file. Does that mean literally sending the file, or that it could send the commands from the text file. I'm trying to think if there is a way to make a script file, that way I could avoid the timout.

 

by: CarlosMMartinsPosted on 2005-12-12 at 12:36:19ID: 15469283

The problem with "text" files, is that some special codes are interpreted as "end-of-file", and other stuff.
You could try that "send text file" as long as the text file contains the codes and they don't conflict with those "special codes".
You'd have to create a text file with the right ascii codes - but even then I'm not sure if hyperterminal wouldn't also send more than we can see (as carriage returns/new lines/ end-of-file/etc bytes)

 

by: Neo55378008Posted on 2005-12-12 at 13:00:58ID: 15469502

Yeah, thats true. So does anyone have any suggestions on how I can enter these things fast enough?

 

by: CarlosMMartinsPosted on 2005-12-12 at 16:54:28ID: 15470998

have you tried the vb program from the vbfrance.com link I send?

 

by: Neo55378008Posted on 2005-12-12 at 16:59:34ID: 15471023

not yet, it requires an account, and since the site is in french i didn't bother to register, maybe i will and see how it works.

 

by: CarlosMMartinsPosted on 2005-12-12 at 17:25:04ID: 15471112

I'm registered there, so I downloaded it and placed it at http://www.oxiz.net/temp/vbX10.zip
That might help a little. :)

 

by: Neo55378008Posted on 2005-12-12 at 17:26:05ID: 15471117

Ok, I downloaded the vb program. I never coded with VB before so I don't understand all of it, but I think I've found the place where I change what commands are being sent out. One thing I've noticed, however, is the transmission function requires a command (like on or off), so I was trying to figure out if there is just a way to transmit the house and unit code without a function code, because I want to do SmartHome scene programming, so I need to be able to send out several house and device codes WITHOUT functions.

 

by: CarlosMMartinsPosted on 2005-12-12 at 17:31:42ID: 15471137

Well, you can try getting a single module to work first, and then try and control several at the same time. :)
In a few days I'll probably be playing around with the same things, I just recently ordered a bunch of X10 modules to my new house and am waiting for it to arrive.

 

by: Neo55378008Posted on 2005-12-12 at 18:02:42ID: 15471248

I'm wondering if I just put NULL in where it asks for the function, if it would jsut skip it, or if that would make an error

 

by: Neo55378008Posted on 2005-12-13 at 12:06:16ID: 15476817

Ok, I understand enough of the VB program to manipulate it to do different addresses, but I still can't figure out how to make it send out a house and device code without a command. For example, right now I have it set up to send out A3 ON, but I want to just be able to send out A3. Does anyone know how to do this? I tried putting in NULL for the command, but the function wants to convert everything into a byte, so that made a compile error. I also tried putting in 0, but I then found out that 0 is the byte for ALL UNITS OFF.

 

by: CarlosMMartinsPosted on 2005-12-13 at 12:23:32ID: 15476968

You can try and make a new function, based on that "send command", that would just send the house codes without the actual command. Then you'd only send the last address and command with that existing function.

 

by: CarlosMMartinsPosted on 2006-03-28 at 02:04:25ID: 16309071

Rindi,
I think I provided enough info and help on the subject.

But it would be better if Neo55378008 himself stated his opinion.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...