Jump to content

Polyglot Honeywell Total Connect v2 NodeServer


dbarentine

Recommended Posts

I created a node server for Honeywell Total Connect v2 security panels.

https://github.com/dbarentine/udi-totalconnect-poly

Current functionality:

  • Reports Armed, Low Battery and AC Loss status.
  • Allows arming (Stay, Stay Night, Away) of the panel.

In theory it supports multiple panels in the same TC2 account but I don't have any way to test that.

874701476_Screenshotfrom2018-11-2021-49-13.thumb.png.37abee4d4ba6ca7b267ba83fefc6da47.png

Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...

Thanks.

I ask this not having a clue what it takes to write something like this :), any idea if we will be able to trigger a scene based on the alarm system going into alarm from a burg or fire? I prefer not to have to do some programming through TC2, and some through ISY.

Link to comment
Share on other sites

@JJordan at the moment it doesn't support triggering based on going into an alarm state. Currently it only supports triggers on armed state, low battery alert, and AC Loss.

It could probably monitor for alarm state as well but I'm not currently sure what that looks like from an TC2 API perspective. I'll have to look at the API when I get a chance and see how hard it would be to add it.

The initial problem I see is the time between being triggered in TC2 and getting updated in the ISY. Right now the nodeserver only updates status on whatever the polling interval is. So it could be up to two minutes (unless set more aggressively) before it got updated. I'd assume for an alarm you'd want something closer to real-time.

It might take me a little bit due to my current schedule but I'll check into it and see what I can figure out.

Link to comment
Share on other sites

  • 1 month later...

@Issacsim Custom Config Parameters is correct. Should just need to set user and password. Screenshot below of my dialog (minus my actual login credentials).

If that's still not working could you check the logs and see if there are any exceptions logged.

2137450498_Screenshotfrom2019-02-2419-09-04.thumb.png.fa980d6ee49faf94388fdffd97e5b344.png

 

Link to comment
Share on other sites

Still no luck, here is my log;

 

2019-02-25 03:40:42,022 [MainThread] [INFO ] Received Config from STDIN.
2019-02-25 03:40:42,023 [MainThread] [INFO ] UDI Polyglot v2 Interface 2.0.29 Starting...
2019-02-25 03:40:42,613 [MainThread] [ERROR] Traceback (most recent call last):
2019-02-25 03:40:42,614 [MainThread] [ERROR] File "./totalconnect-poly.py", line 9, in <module>
2019-02-25 03:40:42,615 [MainThread] [ERROR] from total_connect_client import TotalConnectClient
2019-02-25 03:40:42,615 [MainThread] [ERROR] File "/home/pi/.local/lib/python3.5/site-packages/total_connect_client/TotalConnectClient.py", line 1, in <module>
2019-02-25 03:40:42,616 [MainThread] [ERROR] import zeep
2019-02-25 03:40:42,616 [MainThread] [ERROR] File "/home/pi/.local/lib/python3.5/site-packages/zeep/__init__.py", line 1, in <module>
2019-02-25 03:40:42,617 [MainThread] [ERROR] from zeep.client import CachingClient, Client  # noqa
2019-02-25 03:40:42,617 [MainThread] [ERROR] File "/home/pi/.local/lib/python3.5/site-packages/zeep/client.py", line 5, in <module>
2019-02-25 03:40:42,618 [MainThread] [ERROR] from zeep.transports import Transport
2019-02-25 03:40:42,619 [MainThread] [ERROR] File "/home/pi/.local/lib/python3.5/site-packages/zeep/transports.py", line 8, in <module>
2019-02-25 03:40:42,619 [MainThread] [ERROR] from zeep.utils import get_media_type, get_version
2019-02-25 03:40:42,620 [MainThread] [ERROR] File "/home/pi/.local/lib/python3.5/site-packages/zeep/utils.py", line 4, in <module>
2019-02-25 03:40:42,621 [MainThread] [ERROR] from lxml import etree
2019-02-25 03:40:42,621 [MainThread] [ERROR] ImportError
2019-02-25 03:40:42,622 [MainThread] [ERROR] :
2019-02-25 03:40:42,622 [MainThread] [ERROR] libxslt.so.1: cannot open shared object file: No such file or directory
2019-02-25 03:42:00,382 [MainThread] [INFO ] Received Config from STDIN.
2019-02-25 03:42:00,383 [MainThread] [INFO ] UDI Polyglot v2 Interface 2.0.29 Starting...
2019-02-25 03:42:00,875 [MainThread] [ERROR] Traceback (most recent call last):
2019-02-25 03:42:00,875 [MainThread] [ERROR] File "./totalconnect-poly.py", line 9, in <module>
2019-02-25 03:42:00,876 [MainThread] [ERROR] from total_connect_client import TotalConnectClient
2019-02-25 03:42:00,877 [MainThread] [ERROR] File "/home/pi/.local/lib/python3.5/site-packages/total_connect_client/TotalConnectClient.py", line 1, in <module>
2019-02-25 03:42:00,877 [MainThread] [ERROR] import zeep
2019-02-25 03:42:00,878 [MainThread] [ERROR] File "/home/pi/.local/lib/python3.5/site-packages/zeep/__init__.py", line 1, in <module>
2019-02-25 03:42:00,879 [MainThread] [ERROR] from zeep.client import CachingClient, Client  # noqa
2019-02-25 03:42:00,879 [MainThread] [ERROR] File "/home/pi/.local/lib/python3.5/site-packages/zeep/client.py", line 5, in <module>
2019-02-25 03:42:00,880 [MainThread] [ERROR] from zeep.transports import Transport
2019-02-25 03:42:00,880 [MainThread] [ERROR] File "/home/pi/.local/lib/python3.5/site-packages/zeep/transports.py", line 8, in <module>
2019-02-25 03:42:00,881 [MainThread] [ERROR] from zeep.utils import get_media_type, get_version
2019-02-25 03:42:00,882 [MainThread] [ERROR] File "/home/pi/.local/lib/python3.5/site-packages/zeep/utils.py", line 4, in <module>
2019-02-25 03:42:00,882 [MainThread] [ERROR] from lxml import etree
2019-02-25 03:42:00,883 [MainThread] [ERROR] ImportError
2019-02-25 03:42:00,883 [MainThread] [ERROR] :
2019-02-25 03:42:00,883 [MainThread] [ERROR] libxslt.so.1: cannot open shared object file: No such file or directory

Link to comment
Share on other sites

Ah you're not even getting it fully loaded because it's missing a dependency.

libxslt.so.1: cannot open shared object file: No such file or directory

It looks like the total_connect_client library I'm using loads a dependency that requires libxslt to be installed. According to the following bug reports you might be able to fix it by installing libxslt-dev on the host machine.

For Ubuntu:
sudo apt-get install libxslt-dev

https://stackoverflow.com/questions/24689016/libxml2-importerror-when-importing-etree-from-lxml
https://github.com/kdmurray91/SRApy/issues/1

I'm not sure if there is an easy fix other than just manually installing the libxslt library on the host machine as it's not a python library. I'll have to look into it further but hopefully manually installing it should resolve the issue for you.

Link to comment
Share on other sites

Try hitting Re-Discover in the admin console. That should cause it to re-detect and add the panel. If it successfully finds the panel you should see two (or more) nodes when looking at the nodes for the nodeserver within Polyglot. Hopefully it then should be showing up in the admin console.

If that doesn't work check the logs and see if there are any errors.

Link to comment
Share on other sites

I have tried re-discover multiple times, nothing happens.

I get this whenever I restart polyglot;

2019-03-01 01:01:34,922 [Interface ] [ERROR] MQTT Connection error: An exception of type ConnectionResetError occured. Arguments:
(104, 'Connection reset by peer')
2019-03-01 01:01:34,924 [Interface ] [WARNING] /home/pi/.local/lib/python3.5/site-packages/polyinterface/polyinterface.py:293: ResourceWarning: unclosed <ssl.SSLSocket fd=4, family=AddressFamily.AF_INET6, type=2049, proto=6, laddr=('::1', 55681, 0, 0)>
2019-03-01 01:01:34,928 [Interface ] [ERROR] WARNING:py.warnings:/home/pi/.local/lib/python3.5/site-packages/polyinterface/polyinterface.py:293: ResourceWarning: unclosed <ssl.SSLSocket fd=4, family=AddressFamily.AF_INET6, type=2049, proto=6, laddr=('::1', 55681, 0, 0)>
2019-03-01 01:01:43,853 [MainThread] [INFO ] Received Config from STDIN.
2019-03-01 01:01:43,854 [MainThread] [INFO ] UDI Polyglot v2 Interface 2.0.29 Starting...
2019-03-01 01:01:44,796 [Interface ] [INFO ] Connecting to MQTT... localhost:1883
2019-03-01 01:01:44,845 [Interface ] [INFO ] MQTT Connected with result code 0 (Success)
2019-03-01 01:01:44,846 [Interface ] [INFO ] MQTT Subscribing to topic: udi/polyglot/ns/8 -  MID: 1 Result: 0
2019-03-01 01:01:44,847 [Interface ] [INFO ] MQTT Subscribing to topic: udi/polyglot/connections/polyglot -  MID: 2 Result: 0
2019-03-01 01:01:44,848 [Interface ] [INFO ] Sent Connected message to Polyglot
2019-03-01 01:01:44,938 [NodeServer] [INFO ] Started Total Connect Nodeserver
2019-03-01 01:01:44,940 [NodeServer] [INFO ] Sending customParams to Polyglot.

Thanks again for all your help!!

Link to comment
Share on other sites

Ok, so no errors that look like: "Discovery failed with error..." or "Refreshing panel failed" in the logs correct?

The MQTT error is in the base polyglot interface. I'm not entirely clear why you are getting it but it appears to recover since the log messages after show it reconnecting. I suspect it's unrelated.

What does your nodes tab look like in Polyglot? I know you've got the first (controller) node is there anything else in there? I've attached a screenshot of mine for what it should look like if the panel was discovered. If it's not added at all, I'm probably going to have add some additional debug logging to better troubleshoot the issue.

The other thing to maybe try is to delete the Total Connect node server. Make sure the controller is gone in the ISY admin console as well, and then re-create the node server. Maybe something got screwed up with the original dependency problem.

348279008_Screenshotfrom2019-02-2818-45-57.thumb.png.4979b985dc83e7adf8673dc53dc6d360.png

Link to comment
Share on other sites

  • 1 month later...

Version 1.1.1 is out and adds support for reporting zone status. Status is updated on the interval set in Polyglot. It is not real-time as I haven't found a way to get a real-time notification from the Total Connect 2 API.

I've also added additional logging to help troubleshoot discovery issues and fixed the panel status when it is in an alarm or alarm canceled state.

1298385039_Screenshotfrom2019-04-0414-24-02.thumb.png.0de7199be9a6593acdc1290902b22c62.png

Link to comment
Share on other sites

  • 8 months later...

Good afternoon,

 

First, thank you for the plugin amazing!

Since this isn't real-time, I'm looking into options for other ways of integrating so doors can trigger light events on the ISY, do you know what the timing is on updates?  I've looked at the time frames for updates of opening doors, and I've not figured it out yet.

Link to comment
Share on other sites

@toddhutch it queries on the short poll setting in the nodeserver settings. By default it's set to 120 seconds. So, it could take up to 2 minutes before the door status would be updated in the ISY.

You could set the short poll shorter but I'm not sure if there are any API limitations that might throttle the requests. If the API did throttle you'd see errors in the logs.

Link to comment
Share on other sites

  • 2 months later...

Hello,

I have a question please give me advice. I plan to use the honeywell thermostat TH5320R to connect to my ISY via the polyglot node server running on the raspberry, how do I connect the isy to the honeywell device? Should use thermostat wifi or z-ware, if using z-ware, the control distance is how much, is limited in how far? Whoever has used the honeywell thermostat, please give me a suggestion.

thanks!

Link to comment
Share on other sites

2 hours ago, HAO said:

Hello,

I have a question please give me advice. I plan to use the honeywell thermostat TH5320R to connect to my ISY via the polyglot node server running on the raspberry, how do I connect the isy to the honeywell device? Should use thermostat wifi or z-ware, if using z-ware, the control distance is how much, is limited in how far? Whoever has used the honeywell thermostat, please give me a suggestion.

thanks!

See your other duplicate post

Link to comment
Share on other sites

  • 1 month later...

Dane, first, thank you for the effort you've put in to this server and app.  It is what I was looking for to use my ISY for heat pump control.  And your READ.ME is excellent.

I have finally gotten it working after realizing I had to convert from Total Connect Comfort to Honeywell Home.  Once that light came on things started to make happen.

In getting it working I discovered something that may be of use to future users.  First off, I have three RTH6580WF's that I've been using for over 5 years.  When I logged in to the Honeywell Home (HH) API page at the azurewebsites.net URL, things went right until I logged in to the HH page to select them.  HH showed no thermostats to select, no matter what I did, in spite of them being working in the HH Android app.  I finally gave up searching the web and bought a new T5+ thermostat.  After installing it in place of one of my 6580's and getting it working in the HH app, I retried the developer page and it showed up in the Honeywell Home page.  And after selecting it, it installed in the Polyglot Cloud with no problem, BRINGING ALONG WITH IT MY OLD 6580's.  All three of them.  And all four show up in the ISY Main page and are working.  The 6580's never showed in the selection window, just the T5+.

One comment on the instructions.  I skipped the first section about cloning into the polyglot folder as I finally figured out that was written for the server running on a Raspberry Pi.  The PG Cloud server works great without the install.sh.  Maybe there's a trap I haven't fallen into??

A question about the page in the ISY Admin console.  When I try to change a temp setpoint, the pulldown works and the selection appears in the selection box, but it reverts to some other number after a few seconds.  Am I not doing something?  If I change the setpoint via the app or on the thermostat, it shows up in the selection box after the next poll.

After I get things settled the ultimate use is to let the ISY control two thermostats to keep my two heat pumps from running simultaneously.  Here in Phoenix we have time based electric demand charges that add up quickly when both heat pumps are running, so I want to intelligently turn them on and off based on current running time and room temp.  From 3 PM to 8 PM electricity is expensive and outside that window it's pretty reasonable with no peak demand charges.

Thanks again for your work.

Cole

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...