Elk ASCII Protocol

iostream212

Active Member
Hello,
I am new to Elk and was trying to get some custom ASCII commands programmed but was running into some issues. Hopefully one of the Elk veterans out there can set me strait.

I have a TV that is controlled via rs232. The TV is connected to my LAN via a Global Cache GC-100-12. My Elk has been setup with a telephone reporting format of '6= Ethernet M1XEP.' The M1XEP has a Central Station IP address that I set to the address and port of my GC-100-12.

In this example the rs232 command for 'TV On' is hexadecimal '020800000000D6'.
I have constructed the following text in Elk: 00AP1^H"^@^@^@^@Ö^M

00 = Elk packet header
AP = Message type as per protocol
1 = Central Station IP to report to
What follows is my hexadecimal command that I converted to ASCII.
^M = End of packet carriage return.

This has not been working and I am wondering where I went wrong. Do I need to add the checksum to the end of the packet? Also should I not convert my hexadecimal command to ASCII?

Thank you all in advanced!
 
hi iostream212, welcome to CT!

As far as I know, it is not possible to talk to an IP device by making the M1 think it's talking to a Central Station over IP (interesting approach tho). Your only option is to have the M1 connected to the GC via a serial port (M1XSP connected to the GC), and send ASCII strings that way.
 
Thanks for the reply and the welcome to CT :)

Section 4.3 on the Elk ASCII Protocol document talks about sending ASCII strings via TCP/IP. I know I can't be too far off with my original attempt. I will keep plugging away at it and will post the results when (or if ;) ) I succeed.
 
wow, I haven't noticed that feature before, I guess it must be something 'recent'. Very cool and powerful! The documentation is confusing tho, it mentions you have to add the string to the Automation/Texts section, but it isn't being used anywhere. I'm wondering if in your case the Ö might be a problem. I would run something like Netcat, and see what the data looks like on your PC before going crazy troubleshooting this.
 
Thanks for the hints. I'll try the netcat this weekend! I was unclear about what ASCII characters to use when the decimal value is greater than 127. In the appendix of the ASCII protocol ASCII values are noted up until decimal value 127. What values are to be used between 0x80 (128) to 0xFF (255)?
 
Ok been debugging this weekend by monitoring serial output of my GC-100-12 by using SerialPortMonitor by Eltima software. All hex values are being transmitted by the ELK as expected with the exception of 0x00. Does anyone know how to get ELK to output 0x00? The protocol guide says to use ^@ , but when used I get 0x1e from my monitoring program. Help!
 
Tried /n to no avail. Actually I tested every letter in the alphabet both upper and lowercase with a '/' prefix. Decided to send an email to tech support at ELK. We'll see what happens.
 
i am curious why you are using hexadecimal with the GC though. it has it's own IR code which you use their conversion utility and learner.
 
The hex is for rs232 control of a TV I have. The protocol specifies hexadecimal communication. I prefer serial vs infrared communications when I have the option. I think stringing IR emitters across my beautiful 71" DLP should be a crime! :rolleyes:
 
Got a reply from ELK today. Maybe we're on to something...

Good afternoon Whitney,
According to our Chief Engineer the string transmission is seeing the ‘0’ and stops the transmission. He will investigate this scenario and if necessary make an M1 Firmware change and include it in a future M1 Firmware Update.
Technical Support
Elk Products, Inc.


Also thanks for the link BKLLC. I can't wait to implement it in the program I am writing!
 
Back
Top