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()
}
