richord Posted January 31 Posted January 31 Using Eisy. I installed the Plugin and received this message. How do I fix this? Debug log 2025-01-31 01:20:42.912 Thread-366 (poll) udi_interface INFO totalconnect-poly:authenticate: Re-authenticating 2025-01-31 01:20:42.914 Thread-366 (poll) udi_interface ERROR totalconnect-poly:authenticate: Could not re-authenticate 'NoneType' object has no attribute 'authenticate' Traceback (most recent call last): File "/var/polyglot/pg3/ns/0021b9026ef5_1/totalconnect-poly.py", line 124, in authenticate self.tc.authenticate() ^^^^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'authenticate' 2025-01-31 03:20:43.076 Thread-456 (poll) udi_interface INFO totalconnect-poly:authenticate: Re-authenticating 2025-01-31 03:20:43.076 Thread-456 (poll) udi_interface ERROR totalconnect-poly:authenticate: Could not re-authenticate 'NoneType' object has no attribute 'authenticate' Traceback (most recent call last): File "/var/polyglot/pg3/ns/0021b9026ef5_1/totalconnect-poly.py", line 124, in authenticate self.tc.authenticate() ^^^^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'authenticate' 2025-01-31 05:20:43.260 Thread-546 (poll) udi_interface INFO totalconnect-poly:authenticate: Re-authenticating 2025-01-31 05:20:43.261 Thread-546 (poll) udi_interface ERROR totalconnect-poly:authenticate: Could not re-authenticate 'NoneType' object has no attribute 'authenticate' Traceback (most recent call last): File "/var/polyglot/pg3/ns/0021b9026ef5_1/totalconnect-poly.py", line 124, in authenticate self.tc.authenticate() ^^^^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'authenticate' 2025-01-31 06:15:14.078 Command udi_interface.custom INFO custom:_save: Sending data notices to Polyglot. 2025-01-31 06:15:14.078 Command udi_interface ERROR totalconnect-poly:discover: Discovery failed with error 'NoneType' object has no attribute 'ResultCode' Traceback (most recent call last): File "/var/polyglot/pg3/ns/0021b9026ef5_1/totalconnect-poly.py", line 134, in discover self.tc = TotalConnectClient.TotalConnectClient(self.user, self.password) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/polyglot/pg3/ns/0021b9026ef5_1/.local/lib/python3.11/site-packages/total_connect_client/TotalConnectClient.py", line 94, in __init__ self.authenticate() File "/var/polyglot/pg3/ns/0021b9026ef5_1/.local/lib/python3.11/site-packages/total_connect_client/TotalConnectClient.py", line 186, in authenticate response = self.request( ^^^^^^^^^^^^^ File "/var/polyglot/pg3/ns/0021b9026ef5_1/.local/lib/python3.11/site-packages/total_connect_client/TotalConnectClient.py", line 135, in request if response.ResultCode in ( ^^^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'ResultCode' 2025-01-31 06:15:14.136 MQTT udi_interface.interface INFO interface:_message: Successfully set key = notices 2025-01-31 06:18:06.341 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message setLogLevel 2025-01-31 06:18:06.341 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING setLogLevel 2025-01-31 06:18:06.341 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS setLogLevel message {'level': 'ERROR'} from Polyglot Quote
Geddy Posted January 31 Posted January 31 6 hours ago, richord said: How do I fix this? It doesn't appear this plugin is supported any more. There have been other posts in this area of issues getting through discovery or updating nodes and status. I think most have either moved away from this alarm panel type or not linking it to IoX. Quote
Andy P Posted February 11 Posted February 11 So I took a look and here is the code that is failing - it is using the V1 soap API. That is no longer supported. The plugin needs to be recoded to use the V2 api documented here: TotalConnect2 Web API Help Page or use the code from GITHUB here total-connect-client/total_connect_client/partition.py at master · craigjmidwinter/total-connect-client · GitHub. Unfortunately, I don't know how to do that, but maybe someday. # create zone nodes # We are using GetPanelMetaDataAndFullStatusEx_V1 because we want the extended zone info panel_data = self.tc.soapClient.service.GetPanelMetaDataAndFullStatusEx_V1(self.tc.token, loc_id, 0, 0, 1) if panel_data['ResultCode'] == 0: LOGGER.debug("Getting zones for panel {}".format(device_addr)) zones = panel_data['PanelMetadataAndStatus']['Zones']['ZoneInfoEx'] if zones is None: raise Exception("No zones were found for {} - {} \n{}".format(device_name, device_addr, panel_data)) for zone in zones: if not bool(zone.CanBeBypassed) and not bool(strtobool(self.include_non_bypassable_zones)): LOGGER.debug("Skipping zone {} with name {}".format(zone.ZoneID, zone.ZoneDescription)) continue self.add_zone(loc_id, loc_name, device_addr, device['DeviceID'], zone, update) else: LOGGER.warn("Unable to get extended panel information, code {} data {}".format(panel_data["ResultCode"], panel_data["ResultData"])) Here is a good discussion on the topic Switch over to new TotalConnect REST API · Issue #245 · craigjmidwinter/total-connect-client Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.