command_classes = {
    0x00: 'no_operation',
    0x20: 'basic',
    0x21: 'controller_replication',
    0x22: 'application_status',
    0x23: 'zip_services',
    0x24: 'zip_server',
    0x25: 'switch_binary',
    0x26: 'switch_multilevel',
    0x27: 'switch_all',
    0x28: 'switch_toggle_binary',
    0x29: 'switch_toggle_multilevel',
    0x2A: 'chimney_fan',
    0x2B: 'scene_activation',
    0x2C: 'scene_actuator_conf',
    0x2D: 'scene_controller_conf',
    0x2E: 'zip_client',
    0x2F: 'zip_adv_services',
    0x30: 'sensor_binary',
    0x31: 'sensor_multilevel',
    0x32: 'meter',
    0x33: 'color',
    0x34: 'zip_adv_client',
    0x35: 'meter_pulse',
    0x3C: 'meter_tbl_config',
    0x3D: 'meter_tbl_monitor',
    0x3E: 'meter_tbl_pulse',
    0x38: 'thermostat_heating',
    0x40: 'thermostat_mode',
    0x42: 'thermostat_operating_state',
    0x43: 'thermostat_setpoint',
    0x44: 'thermostat_fan_mode',
    0x45: 'thermostat_fan_state',
    0x46: 'climate_control_schedule',
    0x47: 'thermostat_setback',
    0x4C: 'door_lock_logging',
    0x4E: 'schedule_entry_lock',
    0x50: 'basic_window_covering',
    0x51: 'mtp_window_covering',
    0x56: 'crc16_encap',
    0x5A: 'device_reset_locally',
    0x5B: 'central_scene',
    0x5E: 'zwave_plus_info',
    0x5D: 'antitheft',
    0x60: 'multi_instance',
    0x62: 'door_lock',
    0x63: 'user_code',
    0x66: 'barrier_operator',
    0x70: 'configuration',
    0x71: 'notification',
    0x72: 'manufacturer_specific',
    0x73: 'powerlevel',
    0x75: 'protection',
    0x76: 'lock',
    0x77: 'node_naming',
    0x79: 'sound_switch',
    0x7A: 'firmware_update_md',
    0x7B: 'grouping_name',
    0x7C: 'remote_association_activate',
    0x7D: 'remote_association',
    0x80: 'battery',
    0x81: 'clock',
    0x82: 'hail',
    0x84: 'wake_up',
    0x85: 'association',
    0x86: 'version',
    0x87: 'indicator',
    0x88: 'proprietary',
    0x89: 'language',
    0x8A: 'time',
    0x8B: 'time_parameters',
    0x8C: 'geographic_location',
    0x8D: 'composite',
    0x8E: 'multi_instance_association',
    0x8F: 'multi_cmd',
    0x90: 'energy_production',
    0x91: 'manufacturer_proprietary',
    0x92: 'screen_md',
    0x93: 'screen_attributes',
    0x94: 'simple_av_control',
    0x95: 'av_content_directory_md',
    0x96: 'av_renderer_status',
    0x97: 'av_content_search_md',
    0x98: 'security',
    0x99: 'av_tagging_md',
    0x9A: 'ip_configuration',
    0x9B: 'association_command_configuration',
    0x9C: 'sensor_alarm',
    0x9D: 'silence_alarm',
    0x9E: 'sensor_configuration',
    0xEF: 'mark',
    0xF0: 'non_interoperable',
}

command_class_by_name = {name: code for code, name in command_classes.items()}
