I have a Venstar T7800 with the wifi adapter. The thermostat is logged into Venstar Skyport and that works. I enabled Local API. I installed the PG3x node. I clicked "discover". It gave me a message that it failed to find a thermostat. I manually entered an incorrect IP address and it gave the same message (this was an accident, transposed two digits). I corrected that mistake and then hit discover and it does nothing. No messages, no nodes, it is like I didn't hit the discover button. I tried deleting the node and installing again in a different slot. Same results. I tried changing back to an incorrect IP and it gives the message that nothing is there again. The discover button is activating, it changes from almost black to black when I click it. It would seem that the node server is seeing something there but getting in some failure loop or something? Next step? Thanks. EDIT: Also I have put the latest firmware on the thermostat. EDIT2: I put the url (http://192.168.3.127) into a web browser and got this response. {"api_ver":5,"type":"residential"} If put http://192.168.3.127/query/status it just spins and spins. I'm going to try power cycling the thermostat later today when I am physically there. I'm working through a local pc via vpn/remote desktop. @Goose66 here is some of the log AutoScroll 2026-02-12 10:01:26.107 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message discover 2026-02-12 10:01:26.108 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING discover 2026-02-12 10:01:26.109 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS discover message {} from Polyglot 2026-02-12 10:01:26.110 Thread-54 (_discover_handler) udi_interface.custom DEBUG custom:clear: CUSTOM: Clear ...saving 2026-02-12 10:01:26.111 Thread-54 (_discover_handler) udi_interface.custom INFO custom:_save: Sending data notices to Polyglot. 2026-02-12 10:01:26.111 Thread-54 (_discover_handler) udi_interface DEBUG venstarapi:getThermostatInfo: in getThermostatInfo()... 2026-02-12 10:01:26.119 Thread-1 (send_thread) udi_interface.interface DEBUG interface:_send: PUBLISHING {'set': [{'key': 'notices', 'value': {}}]} 2026-02-12 10:01:26.167 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message custom 2026-02-12 10:01:26.168 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING custom 2026-02-12 10:01:26.169 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS custom message {'notices': '{}'} from Polyglot 2026-02-12 10:01:26.169 Command udi_interface.interface DEBUG interface:_handleInput: Process custom message notices from Polyglot 2026-02-12 10:01:26.170 Command udi_interface.custom DEBUG custom:load: CUSTOM: load {} 2026-02-12 10:01:26.208 MQTT udi_interface.interface INFO interface:_message: Successfully set key = notices 2026-02-12 10:01:26.418 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message shortPoll 2026-02-12 10:01:26.419 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING shortPoll 2026-02-12 10:01:26.419 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS shortPoll message {} from Polyglot 2026-02-12 10:01:26.420 Thread-55 (_poll_handler) udi_interface INFO venstarns:shortPoll: Updating node states in shortPoll()... 2026-02-12 10:01:26.528 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: Exception in thread 2026-02-12 10:01:26.528 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: Thread-54 (_discover_handler) 2026-02-12 10:01:26.529 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: : 2026-02-12 10:01:26.529 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: Traceback (most recent call last): 2026-02-12 10:01:26.529 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 976, in json 2026-02-12 10:01:26.532 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: return complexjson.loads(self.text, **kwargs) 2026-02-12 10:01:26.534 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.534 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.535 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.535 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.535 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.536 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.536 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.537 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.537 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.538 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.538 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.539 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.539 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.540 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.540 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.540 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.541 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.541 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.542 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.542 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.543 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.543 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.543 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.544 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.544 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.544 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.545 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.545 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.546 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.546 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.547 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.547 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.548 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.548 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.548 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.549 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.549 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.550 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.550 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: File "/usr/local/lib/python3.11/json/__init__.py", line 346, in loads 2026-02-12 10:01:26.553 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: return defaultdecoder.decode(s) 2026-02-12 10:01:26.554 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.554 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.555 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.555 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.556 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.556 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.557 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.557 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.557 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.558 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.558 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.559 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.559 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.560 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.560 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.561 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.561 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.561 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.562 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.562 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.563 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.563 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.563 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.564 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.564 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.565 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.565 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: File "/usr/local/lib/python3.11/json/decoder.py", line 337, in decode 2026-02-12 10:01:26.567 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: obj, end = self.raw_decode(s, idx=_w(s, 0).end()) 2026-02-12 10:01:26.568 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.569 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.569 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.570 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.570 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.570 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.571 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.571 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.572 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.572 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.572 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.573 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.573 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.573 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.574 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.574 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.575 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.575 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.575 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.576 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.576 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.577 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.577 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.577 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.578 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.578 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.579 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.579 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.579 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.580 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.580 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.581 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.581 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.581 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.582 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.582 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.582 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.583 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.583 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: File "/usr/local/lib/python3.11/json/decoder.py", line 355, in raw_decode 2026-02-12 10:01:26.585 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: raise JSONDecodeError("Expecting value", s, err.value) from None 2026-02-12 10:01:26.586 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: json.decoder 2026-02-12 10:01:26.587 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: . 2026-02-12 10:01:26.588 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: JSONDecodeError 2026-02-12 10:01:26.588 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: : 2026-02-12 10:01:26.589 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: Expecting value: line 1 column 1 (char 0) 2026-02-12 10:01:26.589 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: During handling of the above exception, another exception occurred: 2026-02-12 10:01:26.590 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: Traceback (most recent call last): 2026-02-12 10:01:26.590 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: File "/usr/local/lib/python3.11/threading.py", line 1045, in bootstrapinner 2026-02-12 10:01:26.594 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: self.run() 2026-02-12 10:01:26.595 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: File "/usr/local/lib/python3.11/threading.py", line 982, in run 2026-02-12 10:01:26.598 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: self._target(*self._args, **self._kwargs) 2026-02-12 10:01:26.600 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: File "/var/polyglot/pg3/ns/000db9593970_8/venstarns/nslib.py", line 87, in discoverhandler 2026-02-12 10:01:26.602 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: self.discover() 2026-02-12 10:01:26.603 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: File "/var/polyglot/pg3/ns/000db9593970_8/venstarns/venstarns.py", line 143, in discover 2026-02-12 10:01:26.604 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: thermoInfo = api.getThermostatInfo(hostName, LOGGER) 2026-02-12 10:01:26.605 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.606 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.607 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.607 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.608 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.608 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.608 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.609 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.609 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.610 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.610 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.611 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.611 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.612 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.612 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.613 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.613 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.614 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.614 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.615 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.615 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.616 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.616 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.617 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.617 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.618 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.618 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.618 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.619 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.619 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.620 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.620 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.621 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.621 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.622 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.622 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.622 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.623 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.623 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.624 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: File "/var/polyglot/pg3/ns/000db9593970_8/venstarns/venstarapi.py", line 385, in getThermostatInfo 2026-02-12 10:01:26.625 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: thermostatInfo.update(response.json()) 2026-02-12 10:01:26.626 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.627 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.627 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.628 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.628 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.629 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.629 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.630 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.630 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.631 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.631 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.631 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.632 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.632 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.632 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: ^ 2026-02-12 10:01:26.633 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 980, in json 2026-02-12 10:01:26.636 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: raise RequestsJSONDecodeError(e.msg, e.doc, e.pos) 2026-02-12 10:01:26.637 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: requests.exceptions 2026-02-12 10:01:26.638 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: . 2026-02-12 10:01:26.638 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: JSONDecodeError 2026-02-12 10:01:26.639 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: : 2026-02-12 10:01:26.639 Thread-54 (_discover_handler) udi_interface ERROR udi_interface:write: Expecting value: line 1 column 1 (char 0) 2026-02-12 10:01:46.389 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message shortPoll 2026-02-12 10:01:46.390 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING shortPoll 2026-02-12 10:01:46.390 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS shortPoll message {} from Polyglot 2026-02-12 10:01:46.392 Thread-56 (_poll_handler) udi_interface INFO venstarns:shortPoll: Updating node states in shortPoll()... 2026-02-12 10:02:06.406 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message shortPoll 2026-02-12 10:02:06.407 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING shortPoll 2026-02-12 10:02:06.408 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS shortPoll message {} from Polyglot 2026-02-12 10:02:06.409 Thread-57 (_poll_handler) udi_interface INFO venstarns:shortPoll: Updating node states in shortPoll()... 2026-02-12 10:02:10.370 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message stop 2026-02-12 10:02:10.371 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING stop 2026-02-12 10:02:10.372 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS stop message {} from Polyglot 2026-02-12 10:02:10.372 Command udi_interface.interface INFO interface:_handleInput: Received stop from Polyglot... Shutting Down. 2026-02-12 10:02:10.374 Thread-58 (_stop_handler) udi_interface DEBUG venstarns:stop: In node server stop()... 2026-02-12 10:02:10.375 Thread-58 (_stop_handler) udi_interface.interface INFO interface:stop: Disconnecting from MQTT... localhost:8883 2026-02-12 10:02:10.379 Thread-58 (_stop_handler) udi_interface.interface INFO interface:_disconnect: MQTT Unexpected disconnection. Reason code: Normal disconnection. Sent by server: False. Retry in 10 seconds. 2026-02-12 10:02:20.505 MainThread udi_interface INFO polylogger:set_basic_config: set_basic_config: enable=True level=30 2026-02-12 10:02:20.506 MainThread udi_interface INFO init:<module>: UDI interface initializing 2026-02-12 10:02:20.506 MainThread udi_interface INFO init:<module>: User=None 2026-02-12 10:02:20.507 MainThread udi_interface INFO init:<module>: Home=/var/polyglot/pg3/ns/000db9593970_8 2026-02-12 10:02:20.508 MainThread udi_interface INFO init:<module>: Node Server Path=/var/polyglot/pg3/ns/000db9593970_8 2026-02-12 10:02:20.508 MainThread udi_interface INFO init:<module>: PG3INIT=eyJ1dWlkIjoiMDA6MGQ6Yjk6NTk6Mzk6NzAiLCJwcm9maWxlTnVtIjo4LCJsb2dMZXZlbCI6IkRFQlVHIiwidG9rZW4iOiJsMElGVS1DSmdNUDBvTmt2IiwibXF0dEhvc3QiOiJsb2NhbGhvc3QiLCJtcXR0UG9ydCI6ODg4Mywic2VjdXJlIjoxLCJpc1BHM3giOnRydWUsInBnM1ZlcnNpb24iOiIzLjQuMTEiLCJpc3lWZXJzaW9uIjoiNi4wLjQiLCJlZGl0aW9uIjoiU3RhbmRhcmQifQ== 2026-02-12 10:02:20.509 MainThread udi_interface INFO init:<module>: Loading interface module 2026-02-12 10:02:20.778 MainThread udi_interface INFO interface:<module>: Loading MQTT module 2026-02-12 10:02:23.590 MainThread udi_interface INFO interface:<module>: MQTT module loaded 2026-02-12 10:02:24.891 MainThread udi_interface INFO init:<module>: Loading udi_interface module 2026-02-12 10:02:24.895 MainThread udi_interface INFO init:<module>: Loading node module 2026-02-12 10:02:24.896 MainThread udi_interface INFO init:<module>: Loading custom module 2026-02-12 10:02:24.896 MainThread udi_interface INFO init:<module>: Loading isy module 2026-02-12 10:02:24.897 MainThread udi_interface INFO init:<module>: Loading OAuth module 2026-02-12 10:02:24.900 MainThread udi_interface INFO init:<module>: UDI interface initialized 2026-02-12 10:02:24.901 MainThread udi_interface INFO init:<module>: UDI Python Interface for Polyglot version 3 3.4.5 Starting... 2026-02-12 10:02:24.923 MainThread udi_interface.interface INFO interface:__init__: Initialization received from Polyglot V3 3.4.11 [ISY: 6.0.4, Slot: 8] 2026-02-12 10:02:24.924 MainThread udi_interface.interface INFO interface:__init__: Connect: Network Interface: {'addr': '192.168.3.82', 'netmask': '255.255.255.0', 'broadcast': '192.168.3.255'} 2026-02-12 10:02:24.927 Interface udi_interface.interface INFO interface:_startMqtt: Connecting to MQTT... localhost:8883 2026-02-12 10:02:24.929 MainThread udi_interface INFO main:<module>: Starting VenstarCT node server... 2026-02-12 10:02:24.931 Interface udi_interface.interface INFO interface:_startMqtt: Using SSL cert: 000db9593970_8.cert key: 000db9593970_8.key ca: /usr/local/etc/ssl/certs/ud.ca.cert 2026-02-12 10:02:24.966 Interface udi_interface.interface INFO interface:_startMqtt: MQTT keepalive is 300 seconds. 2026-02-12 10:02:24.995 MainThread udi_interface.interface INFO interface:updateProfile: Sending Install Profile command to Polyglot. 2026-02-12 10:02:25.091 MQTT udi_interface.interface INFO interface:_connect: MQTT Connected with Reason code: Success 2026-02-12 10:02:25.093 MQTT udi_interface.interface INFO interface:_connect: MQTT Subscribing to topic: udi/pg3/ns/clients/00:0d:b9:59:39:70_8 - MID: 2 Result: 0 2026-02-12 10:02:25.142 MQTT udi_interface.interface INFO interface:_subscribe: MQTT Subscribed Successfully for Message ID: 2. Reason codes: ['Granted QoS 0'] 2026-02-12 10:02:25.260 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message getAll 2026-02-12 10:02:25.261 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING getAll 2026-02-12 10:02:25.262 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getAll message {'id': '5280b596-377f-4116-b330-a854973396f8', 'uuid': '00:0d:b9:59:39:70', 'profileNum': 8, 'key': 'customparams', 'value': '{"hostname":"192.168.3.127"}', 'dbVersion': 1} from Polyglot 2026-02-12 10:02:25.265 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message getNsInfo 2026-02-12 10:02:25.266 Thread-3 (_parameters_handler) udi_interface.custom DEBUG custom:load: CUSTOM: load {'hostname': '192.168.3.127'} 2026-02-12 10:02:25.267 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getAll message {'id': '4b876651-db51-462a-a395-5cfe8f28e21d', 'uuid': '00:0d:b9:59:39:70', 'profileNum': 8, 'key': 'customparamsdoc', 'value': '<h2>VenstarCT NodeServer Configuration</h2>\n\n<h4>Advanced Configuration:</h4>\n\n<ul>\n<li>key: shortPoll, value: polling interval for thermostat states on the local network in seconds (default 15)</li>\n<li>key: longPoll, value: polling interval for alerts, sensor states, and runtimes in seconds (default 150)</li>\n</ul>\n\n<h4>Custom Configuration Parameters:</h4>\n\n<ul>\n<li>key: hostname, value: hostname(s) or IP address(es) for thermostat(s), seperated by semicolons, to bypass SSDP discovery (optional)</li>\n</ul>\n', 'dbVersion': 1} from Polyglot 2026-02-12 10:02:25.269 Thread-3 (_parameters_handler) udi_interface.custom DEBUG custom:load: CUSTOM: -- checking hostname / 192.168.3.127 2026-02-12 10:02:25.269 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message custom 2026-02-12 10:02:25.270 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getAll message {'id': '354710a9-207c-4206-b98c-9bd1880bb47b', 'uuid': '00:0d:b9:59:39:70', 'profileNum': 8, 'key': 'customtypeddata', 'value': '{}', 'dbVersion': 1} from Polyglot 2026-02-12 10:02:25.273 MQTT udi_interface.interface INFO interface:_message: Successfully set key = customparamsdoc 2026-02-12 10:02:25.273 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getAll message {'id': 'e5d74080-c776-4845-a528-057e04335fa2', 'uuid': '00:0d:b9:59:39:70', 'profileNum': 8, 'key': 'notices', 'value': '{}', 'dbVersion': 1} from Polyglot 2026-02-12 10:02:25.275 Command udi_interface.custom DEBUG custom:load: CUSTOM: load {} 2026-02-12 10:02:25.275 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getAll message {'id': 'd2817683-f838-48f8-97a4-f173961bdabc', 'uuid': '00:0d:b9:59:39:70', 'profileNum': 8, 'key': 'nsdata', 'value': 'null', 'dbVersion': 1} from Polyglot 2026-02-12 10:02:25.276 Command udi_interface.interface DEBUG interface:_handleInput: Key nsdata should be passed to node server. 2026-02-12 10:02:25.278 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getAll message {'id': 'bcf70dd4-e466-4935-a198-0cf59c984ebf', 'uuid': '00:0d:b9:59:39:70', 'profileNum': 8, 'key': 'oauth', 'value': 'null', 'dbVersion': 1} from Polyglot 2026-02-12 10:02:25.278 Command udi_interface.interface DEBUG interface:_handleInput: Key oauth should be passed to node server. 2026-02-12 10:02:25.282 Thread-8 (_configdone_handler) udi_interface DEBUG venstarns:start: In node server start()... 2026-02-12 10:02:25.284 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING getNsInfo 2026-02-12 10:02:25.285 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getNsInfo message {'id': '06508a20-b2e2-47f7-8d13-5484a60f48e2', 'uuid': '00:0d:b9:59:39:70', 'name': 'Sensibo', 'nsid': '2cd1ff14-8482-4947-a806-e5fa6f42f793', 'expires': 0, 'nickname': None, 'profileNum': 3, 'developerMode': 0, 'timeAdded': 1760666052837, 'timeStarted': 1770587657120, 'timeModified': 1770587665363, 'version': '2.0.13', 'edition': 'Free', 'branch': 'master', 'url': 'https://github.com/UniversalDevicesInc-PG3/udi-sensibo-poly.git', 'home': '/var/polyglot/pg3/ns/000db9593970_3', 'log': 'logs/debug.log', 'logLevel': 'INFO', 'logLevelList': '[{"id":4,"name":"Debug","value":"DEBUG","level":10},{"id":3,"name":"Info","value":"INFO","level":20},{"id":2,"name":"Warning","value":"WARNING","level":30},{"id":1,"name":"Error","value":"ERROR","level":40},{"id":0,"name":"Critical","value":"CRITICAL","level":50}]', 'enabled': 1, 'connected': 1, 'devMode': 0, 'type': 'python3', 'executable': 'sensibo_poly.py', 'shortPoll': 60, 'longPoll': 600, 'allowIsyAccess': 0, 'nsInfoPoll': 0, 'discover': 1, 'oauth': 0, 'requestId': 0, 'status_node': None, 'status_driver': None, 'orderId': None, 'store': 'Production', 'option': 'e24dff66-902a-4401-80ed-513fc7bca3e9', 'noLicense': 0, 'latestVersion': '2.0.13', 'dbVersion': 1} from Polyglot 2026-02-12 10:02:25.285 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getNsInfo message {'id': 'e93316a8-833e-426f-9a15-bc37f487ae78', 'uuid': '00:0d:b9:59:39:70', 'name': 'Virtual', 'nsid': '2bc787f3-277a-42b1-839f-e85561e1604f', 'expires': 0, 'nickname': None, 'profileNum': 6, 'developerMode': 0, 'timeAdded': 1767895590458, 'timeStarted': 1770587711402, 'timeModified': 1770587718394, 'version': '3.1.26', 'edition': 'Free', 'branch': 'v3.1.2x', 'url': 'https://github.com/UniversalDevicesInc-PG3/Virtual.git', 'home': '/var/polyglot/pg3/ns/000db9593970_6', 'log': 'logs/debug.log', 'logLevel': 'INFO', 'logLevelList': '[{"id":4,"name":"Debug","value":"DEBUG","level":10},{"id":3,"name":"Info","value":"INFO","level":20},{"id":2,"name":"Warning","value":"WARNING","level":30},{"id":1,"name":"Error","value":"ERROR","level":40},{"id":0,"name":"Critical","value":"CRITICAL","level":50}]', 'enabled': 1, 'connected': 1, 'devMode': 0, 'type': 'python3', 'executable': 'udi-Virtual-pg3.py', 'shortPoll': 3, 'longPoll': 30, 'allowIsyAccess': 1, 'nsInfoPoll': 0, 'discover': 1, 'oauth': 0, 'requestId': 0, 'status_node': 'controller', 'status_driver': 'ST', 'orderId': None, 'store': 'Production', 'option': '671a0b64-3de5-434d-a20e-350e38ee5a37', 'noLicense': 0, 'latestVersion': '3.1.26', 'dbVersion': 1} from Polyglot 2026-02-12 10:02:25.286 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getNsInfo message {'id': 'a9cd23b9-ab9f-421e-9d9b-1bcca6006273', 'uuid': '00:0d:b9:59:39:70', 'name': 'VenstarCT', 'nsid': '639a432c-972f-4b09-a168-0225f01d08a0', 'expires': 1773006399000, 'nickname': None, 'profileNum': 8, 'developerMode': 0, 'timeAdded': 1770911132984, 'timeStarted': 1770912140230, 'timeModified': 1770912145163, 'version': '3.0.11', 'edition': 'Standard', 'branch': None, 'url': 'https://pg3store.isy.io/v2/nodeservers/production/venstar-pg3-3.0.11.zip', 'home': '/var/polyglot/pg3/ns/000db9593970_8', 'log': 'logs/debug.log', 'logLevel': 'DEBUG', 'logLevelList': '[{"id":4,"name":"Debug","value":"DEBUG","level":10},{"id":3,"name":"Info","value":"INFO","level":20},{"id":2,"name":"Warning","value":"WARNING","level":30},{"id":1,"name":"Error","value":"ERROR","level":40},{"id":0,"name":"Critical","value":"CRITICAL","level":50}]', 'enabled': 1, 'connected': 1, 'devMode': 0, 'type': 'python3', 'executable': 'main.py', 'shortPoll': 20, 'longPoll': 150, 'allowIsyAccess': 0, 'nsInfoPoll': 0, 'discover': 1, 'oauth': 0, 'requestId': 0, 'status_node': None, 'status_driver': None, 'orderId': None, 'store': 'Production', 'option': '05cc4cc4-406d-46a0-8a80-1582d54d344f', 'noLicense': 0, 'latestVersion': '3.0.11', 'dbVersion': 1} from Polyglot 2026-02-12 10:02:25.286 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING custom 2026-02-12 10:02:25.287 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS custom message {'customparamsdoc': '<h2>VenstarCT NodeServer Configuration</h2>\n\n<h4>Advanced Configuration:</h4>\n\n<ul>\n<li>key: shortPoll, value: polling interval for thermostat states on the local network in seconds (default 15)</li>\n<li>key: longPoll, value: polling interval for alerts, sensor states, and runtimes in seconds (default 150)</li>\n</ul>\n\n<h4>Custom Configuration Parameters:</h4>\n\n<ul>\n<li>key: hostname, value: hostname(s) or IP address(es) for thermostat(s), seperated by semicolons, to bypass SSDP discovery (optional)</li>\n</ul>\n'} from Polyglot 2026-02-12 10:02:25.287 Command udi_interface.interface DEBUG interface:_handleInput: Process custom message customparamsdoc from Polyglot 2026-02-12 10:02:29.145 MQTT udi_interface.interface INFO interface:_message: Profile installation finished 2026-02-12 10:02:40.234 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message shortPoll 2026-02-12 10:02:40.236 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING shortPoll 2026-02-12 10:02:40.236 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS shortPoll message {} from Polyglot 2026-02-12 10:02:40.238 Thread-9 (_poll_handler) udi_interface INFO venstarns:shortPoll: Updating node states in shortPoll()... 2026-02-12 10:02:52.618 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message stop 2026-02-12 10:02:52.619 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING stop 2026-02-12 10:02:52.620 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS stop message {} from Polyglot 2026-02-12 10:02:52.621 Command udi_interface.interface INFO interface:_handleInput: Received stop from Polyglot... Shutting Down. 2026-02-12 10:02:52.622 Thread-10 (_stop_handler) udi_interface DEBUG venstarns:stop: In node server stop()... 2026-02-12 10:02:52.623 Thread-10 (_stop_handler) udi_interface.interface INFO interface:stop: Disconnecting from MQTT... localhost:8883 2026-02-12 10:02:52.626 Thread-10 (_stop_handler) udi_interface.interface INFO interface:_disconnect: MQTT Unexpected disconnection. Reason code: Normal disconnection. Sent by server: False. Retry in 10 seconds. 2026-02-12 10:03:02.937 MainThread udi_interface INFO polylogger:set_basic_config: set_basic_config: enable=True level=30 2026-02-12 10:03:02.938 MainThread udi_interface INFO init:<module>: UDI interface initializing 2026-02-12 10:03:02.939 MainThread udi_interface INFO init:<module>: User=None 2026-02-12 10:03:02.940 MainThread udi_interface INFO init:<module>: Home=/var/polyglot/pg3/ns/000db9593970_8 2026-02-12 10:03:02.940 MainThread udi_interface INFO init:<module>: Node Server Path=/var/polyglot/pg3/ns/000db9593970_8 2026-02-12 10:03:02.941 MainThread udi_interface INFO init:<module>: PG3INIT=eyJ1dWlkIjoiMDA6MGQ6Yjk6NTk6Mzk6NzAiLCJwcm9maWxlTnVtIjo4LCJsb2dMZXZlbCI6IkRFQlVHIiwidG9rZW4iOiJsMElGVS1DSmdNUDBvTmt2IiwibXF0dEhvc3QiOiJsb2NhbGhvc3QiLCJtcXR0UG9ydCI6ODg4Mywic2VjdXJlIjoxLCJpc1BHM3giOnRydWUsInBnM1ZlcnNpb24iOiIzLjQuMTEiLCJpc3lWZXJzaW9uIjoiNi4wLjQiLCJlZGl0aW9uIjoiU3RhbmRhcmQifQ== 2026-02-12 10:03:02.942 MainThread udi_interface INFO init:<module>: Loading interface module 2026-02-12 10:03:03.299 MainThread udi_interface INFO interface:<module>: Loading MQTT module 2026-02-12 10:03:06.293 MainThread udi_interface INFO interface:<module>: MQTT module loaded 2026-02-12 10:03:07.848 MainThread udi_interface INFO init:<module>: Loading udi_interface module 2026-02-12 10:03:07.852 MainThread udi_interface INFO init:<module>: Loading node module 2026-02-12 10:03:07.853 MainThread udi_interface INFO init:<module>: Loading custom module 2026-02-12 10:03:07.854 MainThread udi_interface INFO init:<module>: Loading isy module 2026-02-12 10:03:07.854 MainThread udi_interface INFO init:<module>: Loading OAuth module 2026-02-12 10:03:07.857 MainThread udi_interface INFO init:<module>: UDI interface initialized 2026-02-12 10:03:07.858 MainThread udi_interface INFO init:<module>: UDI Python Interface for Polyglot version 3 3.4.5 Starting... 2026-02-12 10:03:07.886 MainThread udi_interface.interface INFO interface:__init__: Initialization received from Polyglot V3 3.4.11 [ISY: 6.0.4, Slot: 8] 2026-02-12 10:03:07.887 MainThread udi_interface.interface INFO interface:__init__: Connect: Network Interface: {'addr': '192.168.3.82', 'netmask': '255.255.255.0', 'broadcast': '192.168.3.255'} 2026-02-12 10:03:07.889 Interface udi_interface.interface INFO interface:_startMqtt: Connecting to MQTT... localhost:8883 2026-02-12 10:03:07.892 MainThread udi_interface INFO main:<module>: Starting VenstarCT node server... 2026-02-12 10:03:07.893 Interface udi_interface.interface INFO interface:_startMqtt: Using SSL cert: 000db9593970_8.cert key: 000db9593970_8.key ca: /usr/local/etc/ssl/certs/ud.ca.cert 2026-02-12 10:03:07.930 Interface udi_interface.interface INFO interface:_startMqtt: MQTT keepalive is 300 seconds. 2026-02-12 10:03:07.966 MainThread udi_interface.interface INFO interface:updateProfile: Sending Install Profile command to Polyglot. 2026-02-12 10:03:08.058 MQTT udi_interface.interface INFO interface:_connect: MQTT Connected with Reason code: Success 2026-02-12 10:03:08.059 MQTT udi_interface.interface INFO interface:_connect: MQTT Subscribing to topic: udi/pg3/ns/clients/00:0d:b9:59:39:70_8 - MID: 2 Result: 0 2026-02-12 10:03:08.112 MQTT udi_interface.interface INFO interface:_subscribe: MQTT Subscribed Successfully for Message ID: 2. Reason codes: ['Granted QoS 0'] 2026-02-12 10:03:08.168 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message getAll 2026-02-12 10:03:08.169 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING getAll 2026-02-12 10:03:08.170 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getAll message {'id': '5280b596-377f-4116-b330-a854973396f8', 'uuid': '00:0d:b9:59:39:70', 'profileNum': 8, 'key': 'customparams', 'value': '{"hostname":"192.168.3.127"}', 'dbVersion': 1} from Polyglot 2026-02-12 10:03:08.172 Thread-3 (_parameters_handler) udi_interface.custom DEBUG custom:load: CUSTOM: load {'hostname': '192.168.3.127'} 2026-02-12 10:03:08.173 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getAll message {'id': '4b876651-db51-462a-a395-5cfe8f28e21d', 'uuid': '00:0d:b9:59:39:70', 'profileNum': 8, 'key': 'customparamsdoc', 'value': '<h2>VenstarCT NodeServer Configuration</h2>\n\n<h4>Advanced Configuration:</h4>\n\n<ul>\n<li>key: shortPoll, value: polling interval for thermostat states on the local network in seconds (default 15)</li>\n<li>key: longPoll, value: polling interval for alerts, sensor states, and runtimes in seconds (default 150)</li>\n</ul>\n\n<h4>Custom Configuration Parameters:</h4>\n\n<ul>\n<li>key: hostname, value: hostname(s) or IP address(es) for thermostat(s), seperated by semicolons, to bypass SSDP discovery (optional)</li>\n</ul>\n', 'dbVersion': 1} from Polyglot 2026-02-12 10:03:08.174 Thread-3 (_parameters_handler) udi_interface.custom DEBUG custom:load: CUSTOM: -- checking hostname / 192.168.3.127 2026-02-12 10:03:08.175 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getAll message {'id': '354710a9-207c-4206-b98c-9bd1880bb47b', 'uuid': '00:0d:b9:59:39:70', 'profileNum': 8, 'key': 'customtypeddata', 'value': '{}', 'dbVersion': 1} from Polyglot 2026-02-12 10:03:08.176 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getAll message {'id': 'e5d74080-c776-4845-a528-057e04335fa2', 'uuid': '00:0d:b9:59:39:70', 'profileNum': 8, 'key': 'notices', 'value': '{}', 'dbVersion': 1} from Polyglot 2026-02-12 10:03:08.177 Command udi_interface.custom DEBUG custom:load: CUSTOM: load {} 2026-02-12 10:03:08.177 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getAll message {'id': 'd2817683-f838-48f8-97a4-f173961bdabc', 'uuid': '00:0d:b9:59:39:70', 'profileNum': 8, 'key': 'nsdata', 'value': 'null', 'dbVersion': 1} from Polyglot 2026-02-12 10:03:08.178 Command udi_interface.interface DEBUG interface:_handleInput: Key nsdata should be passed to node server. 2026-02-12 10:03:08.180 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getAll message {'id': 'bcf70dd4-e466-4935-a198-0cf59c984ebf', 'uuid': '00:0d:b9:59:39:70', 'profileNum': 8, 'key': 'oauth', 'value': 'null', 'dbVersion': 1} from Polyglot 2026-02-12 10:03:08.180 Command udi_interface.interface DEBUG interface:_handleInput: Key oauth should be passed to node server. 2026-02-12 10:03:08.185 Thread-8 (_configdone_handler) udi_interface DEBUG venstarns:start: In node server start()... 2026-02-12 10:03:08.206 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message getNsInfo 2026-02-12 10:03:08.207 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING getNsInfo 2026-02-12 10:03:08.208 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message custom 2026-02-12 10:03:08.209 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getNsInfo message {'id': '06508a20-b2e2-47f7-8d13-5484a60f48e2', 'uuid': '00:0d:b9:59:39:70', 'name': 'Sensibo', 'nsid': '2cd1ff14-8482-4947-a806-e5fa6f42f793', 'expires': 0, 'nickname': None, 'profileNum': 3, 'developerMode': 0, 'timeAdded': 1760666052837, 'timeStarted': 1770587657120, 'timeModified': 1770587665363, 'version': '2.0.13', 'edition': 'Free', 'branch': 'master', 'url': 'https://github.com/UniversalDevicesInc-PG3/udi-sensibo-poly.git', 'home': '/var/polyglot/pg3/ns/000db9593970_3', 'log': 'logs/debug.log', 'logLevel': 'INFO', 'logLevelList': '[{"id":4,"name":"Debug","value":"DEBUG","level":10},{"id":3,"name":"Info","value":"INFO","level":20},{"id":2,"name":"Warning","value":"WARNING","level":30},{"id":1,"name":"Error","value":"ERROR","level":40},{"id":0,"name":"Critical","value":"CRITICAL","level":50}]', 'enabled': 1, 'connected': 1, 'devMode': 0, 'type': 'python3', 'executable': 'sensibo_poly.py', 'shortPoll': 60, 'longPoll': 600, 'allowIsyAccess': 0, 'nsInfoPoll': 0, 'discover': 1, 'oauth': 0, 'requestId': 0, 'status_node': None, 'status_driver': None, 'orderId': None, 'store': 'Production', 'option': 'e24dff66-902a-4401-80ed-513fc7bca3e9', 'noLicense': 0, 'latestVersion': '2.0.13', 'dbVersion': 1} from Polyglot 2026-02-12 10:03:08.210 MQTT udi_interface.interface INFO interface:_message: Successfully set key = customparamsdoc 2026-02-12 10:03:08.212 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getNsInfo message {'id': 'e93316a8-833e-426f-9a15-bc37f487ae78', 'uuid': '00:0d:b9:59:39:70', 'name': 'Virtual', 'nsid': '2bc787f3-277a-42b1-839f-e85561e1604f', 'expires': 0, 'nickname': None, 'profileNum': 6, 'developerMode': 0, 'timeAdded': 1767895590458, 'timeStarted': 1770587711402, 'timeModified': 1770587718394, 'version': '3.1.26', 'edition': 'Free', 'branch': 'v3.1.2x', 'url': 'https://github.com/UniversalDevicesInc-PG3/Virtual.git', 'home': '/var/polyglot/pg3/ns/000db9593970_6', 'log': 'logs/debug.log', 'logLevel': 'INFO', 'logLevelList': '[{"id":4,"name":"Debug","value":"DEBUG","level":10},{"id":3,"name":"Info","value":"INFO","level":20},{"id":2,"name":"Warning","value":"WARNING","level":30},{"id":1,"name":"Error","value":"ERROR","level":40},{"id":0,"name":"Critical","value":"CRITICAL","level":50}]', 'enabled': 1, 'connected': 1, 'devMode': 0, 'type': 'python3', 'executable': 'udi-Virtual-pg3.py', 'shortPoll': 3, 'longPoll': 30, 'allowIsyAccess': 1, 'nsInfoPoll': 0, 'discover': 1, 'oauth': 0, 'requestId': 0, 'status_node': 'controller', 'status_driver': 'ST', 'orderId': None, 'store': 'Production', 'option': '671a0b64-3de5-434d-a20e-350e38ee5a37', 'noLicense': 0, 'latestVersion': '3.1.26', 'dbVersion': 1} from Polyglot 2026-02-12 10:03:08.213 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS getNsInfo message {'id': 'a9cd23b9-ab9f-421e-9d9b-1bcca6006273', 'uuid': '00:0d:b9:59:39:70', 'name': 'VenstarCT', 'nsid': '639a432c-972f-4b09-a168-0225f01d08a0', 'expires': 1773006399000, 'nickname': None, 'profileNum': 8, 'developerMode': 0, 'timeAdded': 1770911132984, 'timeStarted': 1770912182556, 'timeModified': 1770912188126, 'version': '3.0.11', 'edition': 'Standard', 'branch': None, 'url': 'https://pg3store.isy.io/v2/nodeservers/production/venstar-pg3-3.0.11.zip', 'home': '/var/polyglot/pg3/ns/000db9593970_8', 'log': 'logs/debug.log', 'logLevel': 'DEBUG', 'logLevelList': '[{"id":4,"name":"Debug","value":"DEBUG","level":10},{"id":3,"name":"Info","value":"INFO","level":20},{"id":2,"name":"Warning","value":"WARNING","level":30},{"id":1,"name":"Error","value":"ERROR","level":40},{"id":0,"name":"Critical","value":"CRITICAL","level":50}]', 'enabled': 1, 'connected': 1, 'devMode': 0, 'type': 'python3', 'executable': 'main.py', 'shortPoll': 20, 'longPoll': 150, 'allowIsyAccess': 0, 'nsInfoPoll': 0, 'discover': 1, 'oauth': 0, 'requestId': 0, 'status_node': None, 'status_driver': None, 'orderId': None, 'store': 'Production', 'option': '05cc4cc4-406d-46a0-8a80-1582d54d344f', 'noLicense': 0, 'latestVersion': '3.0.11', 'dbVersion': 1} from Polyglot 2026-02-12 10:03:08.214 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING custom 2026-02-12 10:03:08.214 Command udi_interface.interface DEBUG interface:_handleInput: PROCESS custom message {'customparamsdoc': '<h2>VenstarCT NodeServer Configuration</h2>\n\n<h4>Advanced Configuration:</h4>\n\n<ul>\n<li>key: shortPoll, value: polling interval for thermostat states on the local network in seconds (default 15)</li>\n<li>key: longPoll, value: polling interval for alerts, sensor states, and runtimes in seconds (default 150)</li>\n</ul>\n\n<h4>Custom Configuration Parameters:</h4>\n\n<ul>\n<li>key: hostname, value: hostname(s) or IP address(es) for thermostat(s), seperated by semicolons, to bypass SSDP discovery (optional)</li>\n</ul>\n'} from Polyglot 2026-02-12 10:03:08.215 Command udi_interface.interface DEBUG interface:_handleInput: Process custom message customparamsdoc from Polyglot 2026-02-12 10:03:09.227 MQTT udi_interface.interface INFO interface:_message: Profile installation finished 2026-02-12 10:03:22.569 MQTT udi_interface.interface DEBUG interface:_message: QUEUING incoming message shortPoll 2026-02-12 10:03:22.570 Command udi_interface.interface DEBUG interface:_parseInput: DEQUEING shortPoll