How to tell if you have a Gen 2 controller?
fryfrog opened this issue · 8 comments
I think my Airscape fan is too old, the logs are failing to query status.json.cgi
and when I try to get to http://whf/status.json.cgi
, it doesn't exist. But fanspd.cgi
does, which I see in the forum thread from someone's script.
A screenshot of the webui showing my model and version: https://i.imgur.com/4vu0ssR.png
Is there a way to update the software on the controller? Or do I need to contact them about a newer controller? I think your older version of this node server worked w/ my whf, because I'd replaced my dumb url queries with it. :(
2020-05-12 19:42:05,847 Controller urllib3.connectionpool DEBUG connectionpool:_new_conn: Starting new HTTP connection (183): whf:80
2020-05-12 19:42:05,943 Controller polyinterface ERROR pgSession:l_error: Airscape whf:get: Connection error for http://whf/status.json.cgi: HTTPConnectionPool(host='whf', port=80): Max retries exceeded with url: /status.json.cgi (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x802ddf5d0>: Failed to establish a new connection: [Errno 8] hostname nor servname provided, or not known'))
2020-05-12 19:42:05,944 Controller polyinterface DEBUG Airscape2:l_debug: airscape2_F:Airscape whf:set_from_response: In: False
2020-05-12 19:42:05,945 Controller polyinterface DEBUG Airscape2:l_debug: airscape2_F:Airscape whf:set_from_response: Out: {}
That's strange, I looked back at the code and checking status.json.cgi has been there since release 2.0.1 of the nodeserver, but the original 2.0.0 version did poll status.xml.cgi, does that work for you?
My Airscape controller is software version 2.15.1 and yours is 2.0.0 so that could be the difference.
The status is documented on their page https://blog.airscapefans.com/archives/gen-2-controls-api so probably best to email them at the address on that page and ask what the deal is and if yours can be updated.
Thanks, I'll do that. status.xml.cgi
didn't work either. Maybe I was mistaken about it working previously. Or maybe in the early versions, polling the status didn't effect the ability to increase and decrease speed and turn it off?
Yes, it is possible that failing status may have just caused an error and not caused it all to fail. Let me know what you hear from them and I can look at reworking the code to get around that being an error.
Also, was that the entire log, there is nothing after those 4 lines?
There are sections of other interesting logs, but for the most part it is of course filled w/ the failure to query status over and over and over and over. :)
2020-05-12 19:21:13,300 MainThread polyinterface INFO polyinterface:init_interface: Received Config from STDIN.
2020-05-12 19:21:13,302 MainThread polyinterface INFO __init__:<module>: UDI Polyglot v2 Interface 2.0.40 Starting...
2020-05-12 19:21:14,523 MainThread polyinterface DEBUG polyinterface:get_network_interface: gws: {'default': {2: ('10.0.1.1', 'igb0')}, 2: [('10.0.1.1', 'igb0', True)]}
2020-05-12 19:21:14,524 MainThread polyinterface DEBUG polyinterface:get_network_interface: gw: default=('10.0.1.1', 'igb0')
2020-05-12 19:21:14,524 MainThread polyinterface DEBUG polyinterface:get_network_interface: ifad: igb0=[{'addr': '10.0.1.7', 'netmask': '255.255.255.0', 'broadcast': '10.0.1.255'}]
2020-05-12 19:21:14,525 MainThread polyinterface INFO polyinterface:__init__: Connect: Network Interface: {'addr': '10.0.1.7', 'netmask': '255.255.255.0', 'broadcast': '10.0.1.255'}
2020-05-12 19:21:14,526 Interface polyinterface INFO polyinterface:_startMqtt: Connecting to MQTT... localhost:1883
2020-05-12 19:21:14,559 MQTT polyinterface INFO polyinterface:_connect: MQTT Connected with result code 0 (Success)
2020-05-12 19:21:14,561 MQTT polyinterface INFO polyinterface:_connect: MQTT Subscribing to topic: udi/polyglot/ns/1 - MID: 1 Result: 0
2020-05-12 19:21:14,562 MQTT polyinterface INFO polyinterface:_connect: MQTT Subscribing to topic: udi/polyglot/connections/polyglot - MID: 2 Result: 0
2020-05-12 19:21:14,563 MQTT polyinterface INFO polyinterface:_connect: Sent Connected message to Polyglot
2020-05-12 19:21:14,568 MQTT polyinterface INFO polyinterface:_subscribe: MQTT Subscribed Succesfully for Message ID: 1 - QoS: (0,)
2020-05-12 19:21:14,570 MQTT polyinterface INFO polyinterface:_subscribe: MQTT Subscribed Succesfully for Message ID: 2 - QoS: (0,)
2020-05-12 19:21:14,778 MQTT polyinterface INFO polyinterface:addNode: Adding node Airscape Controller(controller)
2020-05-12 19:21:14,779 MQTT polyinterface INFO polyinterface:_gotConfig: Waiting on Controller node to be added.......
2020-05-12 19:21:14,780 NodeServer polyinterface INFO Controller:start: Started Airscape NodeServer
2020-05-12 19:21:14,781 NodeServer polyinterface INFO Controller:l_info: controller:set_debug_mode: None
2020-05-12 19:21:14,781 NodeServer polyinterface INFO polyinterface:reportDriver: Updating Driver controller - GV1: 30, uom: 25
2020-05-12 19:21:14,782 NodeServer polyinterface INFO Controller:l_info: controller:set_all_logs: 30
2020-05-12 19:25:16,742 MainThread polyinterface INFO polyinterface:init_interface: Received Config from STDIN.
2020-05-12 19:25:16,744 MainThread polyinterface INFO __init__:<module>: UDI Polyglot v2 Interface 2.0.40 Starting...
2020-05-12 19:25:17,753 MainThread polyinterface DEBUG polyinterface:get_network_interface: gws: {'default': {2: ('10.0.1.1', 'igb0')}, 2: [('10.0.1.1', 'igb0', True)]}
2020-05-12 19:25:17,754 MainThread polyinterface DEBUG polyinterface:get_network_interface: gw: default=('10.0.1.1', 'igb0')
2020-05-12 19:25:17,754 MainThread polyinterface DEBUG polyinterface:get_network_interface: ifad: igb0=[{'addr': '10.0.1.7', 'netmask': '255.255.255.0', 'broadcast': '10.0.1.255'}]
2020-05-12 19:25:17,755 MainThread polyinterface INFO polyinterface:__init__: Connect: Network Interface: {'addr': '10.0.1.7', 'netmask': '255.255.255.0', 'broadcast': '10.0.1.255'}
2020-05-12 19:25:17,756 Interface polyinterface INFO polyinterface:_startMqtt: Connecting to MQTT... localhost:1883
2020-05-12 19:25:17,790 MQTT polyinterface INFO polyinterface:_connect: MQTT Connected with result code 0 (Success)
2020-05-12 19:25:17,791 MQTT polyinterface INFO polyinterface:_connect: MQTT Subscribing to topic: udi/polyglot/ns/1 - MID: 1 Result: 0
2020-05-12 19:25:17,792 MQTT polyinterface INFO polyinterface:_connect: MQTT Subscribing to topic: udi/polyglot/connections/polyglot - MID: 2 Result: 0
2020-05-12 19:25:17,793 MQTT polyinterface INFO polyinterface:_connect: Sent Connected message to Polyglot
2020-05-12 19:25:17,796 MQTT polyinterface INFO polyinterface:_subscribe: MQTT Subscribed Succesfully for Message ID: 1 - QoS: (0,)
2020-05-12 19:25:17,799 MQTT polyinterface INFO polyinterface:_subscribe: MQTT Subscribed Succesfully for Message ID: 2 - QoS: (0,)
2020-05-12 19:25:17,908 NodeServer polyinterface INFO Controller:start: Started Airscape NodeServer
2020-05-12 19:25:17,909 NodeServer polyinterface INFO Controller:l_info: controller:set_debug_mode: None
2020-05-12 19:25:17,910 NodeServer polyinterface INFO Controller:l_info: controller:set_all_logs: 10
2020-05-12 19:25:17,910 NodeServer polyinterface INFO Controller:l_info: controller:set_debug_mode: session debug_level=0
2020-05-12 19:25:17,911 NodeServer polyinterface DEBUG Controller:heartbeat: heartbeat hb=0
2020-05-12 19:25:17,999 NodeServer polyinterface INFO Controller:l_info: controller:check_profile: profile_info={'version': '2.0.7'}
2020-05-12 19:25:18,000 NodeServer polyinterface INFO Controller:l_info: controller:check_profile: customData={'profile_info': {'version': '2.0.7'}}
2020-05-12 19:25:18,001 NodeServer polyinterface INFO Controller:l_info: controller:check_profile: No updated needed: "2.0.7" == "2.0.7"
2020-05-12 19:25:18,001 NodeServer polyinterface INFO polyinterface:save_typed_params: Sending typed parameters to Polyglot.
2020-05-12 19:25:18,004 NodeServer polyinterface INFO polyinterface:removeNotice: Sending removenotice to Polyglot for index {'key': 'config'}
2020-05-12 19:25:18,011 NodeServer polyinterface INFO polyinterface:addNode: Adding node Airscape whf(whf)
2020-05-12 19:25:19,136 Controller polyinterface INFO Airscape2:l_info: airscape2_F:Airscape whf:start: config={'host': 'whf', 'name': 'whf'}
2020-05-12 19:25:19,139 Controller polyinterface DEBUG pgSession:l_debug: Airscape whf:get: Sending: url=http://whf/status.json.cgi payload={}
2020-05-12 19:25:19,140 Controller polyinterface DEBUG pgSession:l_debug: Airscape whf:get: headers={}
2020-05-12 19:25:19,167 Controller urllib3.connectionpool DEBUG connectionpool:_new_conn: Starting new HTTP connection (1): whf:80
2020-05-12 19:25:19,277 Controller polyinterface ERROR pgSession:l_error: Airscape whf:get: Connection error for http://whf/status.json.cgi: HTTPConnectionPool(host='whf', port=80): Max retries exceeded with url: /status.json.cgi (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x802be23d0>: Failed to establish a new connection: [Errno 8] hostname nor servname provided, or not known'))
2020-05-12 19:25:19,278 Controller polyinterface DEBUG Airscape2:l_debug: airscape2_F:Airscape whf:set_from_response: In: False
2020-05-12 19:25:19,279 Controller polyinterface DEBUG Airscape2:l_debug: airscape2_F:Airscape whf:set_from_response: Out: {}
2020-05-12 19:25:19,279 Controller polyinterface INFO polyinterface:reportDrivers: Updating All Drivers to ISY for Airscape whf(whf)
2020-05-12 19:25:22,840 Controller polyinterface DEBUG Airscape2:l_debug: airscape2_F:Airscape whf:shortPoll: ...
2020-05-12 19:25:22,841 Controller polyinterface DEBUG pgSession:l_debug: Airscape whf:get: Sending: url=http://whf/status.json.cgi payload={}
2020-05-12 19:25:22,842 Controller polyinterface DEBUG pgSession:l_debug: Airscape whf:get: headers={}
2020-05-12 19:25:22,855 Controller urllib3.connectionpool DEBUG connectionpool:_new_conn: Starting new HTTP connection (2): whf:80
2020-05-12 19:25:22,960 Controller polyinterface ERROR pgSession:l_error: Airscape whf:get: Connection error for http://whf/status.json.cgi: HTTPConnectionPool(host='whf', port=80): Max retries exceeded with url: /status.json.cgi (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x802be2950>: Failed to establish a new connection: [Errno 8] hostname nor servname provided, or not known'))
2020-05-12 19:25:22,962 Controller polyinterface DEBUG Airscape2:l_debug: airscape2_F:Airscape whf:set_from_response: In: False
2020-05-12 19:25:22,962 Controller polyinterface DEBUG Airscape2:l_debug: airscape2_F:Airscape whf:set_from_response: Out: {}
2020-05-12 19:25:27,870 Controller polyinterface DEBUG Airscape2:l_debug: airscape2_F:Airscape whf:shortPoll: ...
2020-05-12 19:25:27,871 Controller polyinterface DEBUG pgSession:l_debug: Airscape whf:get: Sending: url=http://whf/status.json.cgi payload={}
2020-05-12 19:25:27,872 Controller polyinterface DEBUG pgSession:l_debug: Airscape whf:get: headers={}
Would it be possible to have a fallback option that doesn't use the status? Maybe if they say it isn't possible to update the software on the controller? :/
Yes I could make that an option.
I've paid for a newer board. :)