Page 1 of 1

Where's all the documentation?

Posted: Sun Oct 11, 2020 6:57 pm
by Slyke
Am I missing a vital link somewhere to the documentation?

I have found these threads:
http://forum.eyez-on.com/FORUM/viewtopic.php?f=6&t=2143 (Envisalink 4 - Honeywell Documentation)
http://forum.eyez-on.com/FORUM/viewtopic.php?f=6&t=301 (Envisalink - TPI Documentation)

Where's the documentation that for example, specifies that to send commands, the sentinels are ^ and $? I could only find (in some out dated documentation) that the sentinels are % and $, and had to go scouring through the forum threads and someone just happened to mention that the sending sentinels are ^ and $ and that % and $ is just for received commands.

I also saw that some people were using GET requests like 192.168.1.64?a=001&p=123 where's the documentation for that?

I'm asking because when sending commands, I'm getting:

Code: Select all

^000,$
^00,03$
^00,$
^00,00$
^001$
^00,03$
^01$
^01,03$
^08,$
^08,02$
^008,$
^00,03$
Which isn't really making sense, according to the documentation, I should be getting a status report, and then a zone timer dump.

Code: Select all

^550,$
^55,03$
^55,$
^55,02$
Shouldn't one of these be outputting the system time?

I do get a lot of:

Code: Select all

%00,01,1028,FC,00,COMM. FAILURE                   $
%00,01,1C28,08,00, DISARMED CHIME   Ready to Arm  $
but these come through periodically.

Re: Where's all the documentation?

Posted: Mon Oct 12, 2020 6:41 am
by Slyke
How does one program it from telnet? It seems the documentation is wildly inaccurate.

For example, it doesn't give the codes 0, 1, 2 or 3 upon login. It actually gives "FAILED", "OK", "Timed Out!" and "Login:" when waiting for the prompt.

None of the other commands in the documentation work. I am able to monitor events by opening doors, and see the time showing up in the telnet session when typing 0000 + # + 63 on the actual keypads (0000 is a substitute for my master code), but there's no way to get those commands (or any commands) to run from the telnet session.

I may have to return this device, either the software or the hardware is defective.

Here's what I've tried in telnet (00 and 0000 has been modified to not show my master code - lines starting with > are the replies):

Code: Select all

Escape character is '^]'.
Login:
user
OK
0000#63
0000#
63
^0000#63$
> ^00,03$
^0000#$^63$
> ^00,03$
> ^63,03$
^0000#$
^63$
> ^63,03$
^0000$#^63$
> ^00,03$
> ^63,03$
^0000$#
> ^00,03$
^63$
> ^63,03$
001
01
$001^
> ^D0,03$
$01^
> ^D0,03$
008
08
$008^
> ^D0,03$
$08^
> ^D0,03$

Re: Where's all the documentation?

Posted: Mon Oct 12, 2020 9:08 am
by GrandWizard
You can't Telnet to port 4025, it isn't a Telnet port. It is for the TPI. You can try and use a raw TCP socket but the TPI isn't meant to be an interactive protocol, it is for developers to develop M2M interaces for HA or other local apps.

The TPI documentation for Honeywell is always posted ont the forum. There are two versions, one for DSC and one for Honeywell. They are completely different.

http://forum.eyez-on.com/FORUM/viewtopic.php?f=6&t=301

Re: Where's all the documentation?

Posted: Mon Oct 12, 2020 4:24 pm
by Slyke
From the developer documentation you linked, it states:
The Envisalink acts as a server for the TCP connection and the user application is the client. The Envisalink listens on
port 4025 and will only accept one client connection on that port. Any subsequent connections will be denied.
The Envisalink will close the connection if the client closes its side.
To initiate a connection, the application must first start a session by establishing a TCP socket. Once established the TPI
will send a 5053 command (See section 3.0 for a detailed description of the protocol) requesting a session password.
The client should then, within 10 seconds, send 005 login request. The 005 command contains the password which is the
same password to log into the Envisalink's local web page. Upon successful login, the Envisalink's TPI will respond with
the session status command, 505, and whether the password was accepted or rejected. If a password is not received
within 10 seconds, the TPI will issue a 5052 command and close the TCP socket. The socket will also be closed if the
password fails.
Once the password is accepted, the session is created and will continue until the TCP connection is dropped.
or
To initiate a connection, the application must first start a session by establishing a TCP socket. Once established the TPI
will send a “Login” prompt.
This one sounds closer, but is missing the :.

Using telnet, or writing my own tcp streams in c++ and nodejs, the results are the same. It doesn't use these commands at all, and instead uses the ones I listed in my second post.

Creating a node in NodeRed and a plugin for HA is exactly what I'm trying to do. It doesn't seem like the module accepts any commands, except the login one. I can read commands just fine though. I'm using Honeywell.

This is my current NodeJS code: https://pastebin.com/43QYxJvP it runs without any modules.

Re: Where's all the documentation?

Posted: Tue Oct 13, 2020 8:57 am
by GrandWizard
There are two different versions of the TPI protocol, one for DSC and one for Honeywell. You own a Honeywell panel so you need to follow the Honeywell (aka Ademco) version, not the DSC version. They are completely different.

Read the document completely.

You can't use Telnet as the TPI doesn't support the Telnet protocol. You need to use a RAW socket. As well, it was not meant to work interactively so you may have problems due to timeouts.