Hi there Perry
First of all, thank you so much for writing your plug-ins. My Denon amp is playing festive tunes all triggered by your Denon plug in - fab stuff. It's that time of year when I get a few hours to sit down and develop the HA integration thing a bit further. I am back to integrating my Cytech Comfort system with Indigo. Indigo is more versatile but all of my lighting / sensors / security / HVAC is very stably controlled by Comfort.
A while ago now I got a connection going using your Network plug-in, which allowed Indigo to react to events through monitoring the RS232 of the Universal Connection Module (UCM) of the Comfort system using 'recognised input' of your Network plugin. The next step is to get true two-way connectivity going, which should be possible with your plug-in, but I am not sure I every really achieved previously. I have set myself the challenge over the holidays!
I have Indigo successfully connected to Comfort using your plug-in, so my question is, based on the published protocol
http://www.cytech.biz/download_files.php?item_id=780 (extracts below) what do you think should be in the 'send text' action to get Indigo to trigger Comfort events? The key seems to be to get the STX and Carriage Return defined properly. I have tried various tests to turn on a light in the room I am in (I can trigger using a response within Comfort so I know that works) using what I thought was the correct format but without success. Any advice very gratefully received.
The published protocol says this:
Message Format9600 bits per second, no parity, 1 stop bit, no flow control
Each message is preceded by a STX character which is defined as 03 hexadecimal and terminated by 0D hex (Carriage Return character)
The command consists of 2 characters followed by a variable number of characters
E.g. to switch on Output 21, the following command is used
<STX>O!1501<CR>
The UCM will reply
<STX>OP1501<CR>
Logging inBefore the UCM can accept and commands or send status, it needs a valid login. This is done using the LI login command LIxxxxxx where xxxxxx is a 4 to 6 digit numerical code. If the code is valid, UCM reports LUnn where nn is a user number 1 to 16 or 254 for Engineer. If invalid LU00 is seen. E.g. LU09 means Login by User 9.
Once the UCM is logged in commands are accepted and events are reported by the UCM
Getting StartedAny RS232 terminal monitor program can be used to test the communications with the UCM, including Hyperterminal, which is included in Windows
To set up Hyperterminal, Run Hyperterminal, set the Properties to
Connect Using: Direct to COM port (whichever port the UCM is connected to)
Configure:
Bits per second 9600 Data Bits 8
Parity None Stop Bits 1
Flow Control None
Go to the Settings Tab
Set Emulation to “Auto detect” Press ASCII SETUP
Check the boxes for
ASCII SENDING
Send Line Ends with Line Feeds Echo Typed characters locally
Line Delay and Character delay = 0
ASCII RECEIVING
APPEND Line Feeds to incoming Line ends Wrap Lines that exceed terminal width
In the Menu Bar, select View, Font
Select the Terminal Font, regular, font size 9 and press OK Save the session with a file name e.g. ucm.ht
The STX character for the UCM is <CONTROL> C. (This is hexadecimal 03, which is not the standard character for STX). This appears as a Heart symbol ©
Type <CONTROL>C UP000004, all in capitals which appears as
©UP000004
Which means Upload 4 bytes from the COPY EEPROM starting from 0000 address.
If the COPY EEPROM is installed you will see a reply something like
©DP000004BBAA120184
DP means download from the COPY EEPROM, the next byte is 04, which is the no of bytes to follow. The next 4 bytes are data from the EEPROM address and followed by a checksum byte
____
Any suggestions?
Many thanks
Henley