cjkrolak / ThermostatSupervisor

supervisor to detect and correct thermostat deviations
MIT License
0 stars 0 forks source link

KeyError argv when running thermostat checkout on some modules and using the -f runtime option #539

Closed cjkrolak closed 2 years ago

cjkrolak commented 2 years ago

C:\Users\cjkro\onedrive\documents\github\ThermostatSupervisor>python -m thermostatsupervisor.emulator -t emulator -f emulator.ini running on Python version 3.10 DEBUG: reading runtime arguments from 'emulator.ini'...

checking required environment variables:

[log_msg]: raw thermostat meta data: {} DEBUG(initialize_meta_data_dict): setting mode to OFF_MODE KeyError: target=['argv']['thermostat_type']['value'], keys=dict_keys(['emulator_0', 'emulator_1']) Traceback (most recent call last): File "C:\Users\cjkro\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\cjkro\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code exec(code, run_globals) File "C:\Users\cjkro\onedrive\documents\github\ThermostatSupervisor\thermostatsupervisor\emulator.py", line 582, in tc.thermostat_basic_checkout( File "C:\Users\cjkro\onedrive\documents\github\ThermostatSupervisor\thermostatsupervisor\thermostat_common.py", line 1115, in thermostat_basic_checkout Thermostat, Zone = create_thermostat_instance(thermostat_type, zone, File "C:\Users\cjkro\onedrive\documents\github\ThermostatSupervisor\thermostatsupervisor\thermostat_common.py", line 1087, in create_thermostat_instance api.uip.set_user_inputs(api.uip.default_parent_key, File "C:\Users\cjkro\onedrive\documents\github\ThermostatSupervisor\thermostatsupervisor\utilities.py", line 673, in set_user_inputs self.user_inputs[parent_key][child_key][field] = input_val KeyError: 'argv'

cjkrolak commented 2 years ago

error does not occur with supervise script error does not occur with honeywell script

error does occur with kumocloud, kumolocal, sht31, mmm, and emulator scripts

cjkrolak commented 2 years ago

issue does not happen if -f flag is not used

cjkrolak commented 2 years ago

error is not happening on honeywell because honeywell is setting a default zone name via api.load_user_inputs, the other tstat types do not have this code implemented.