Problem with new MQTT/Home Assistent channel naming

This setup is likely contained in the zigbee to MQTT github repository. My limited experience with the HA climate configs is that they are custom to the device (and might need to be adjusted). You can dig through the files to see if there is an off or blank option. I have an AC and these are all separate on-off switches and there is a separate switch for device being on or off. I’m thinking an HA mode item is going to be an OH string not a switch. Maybe some need a default.

Not sure if relevant but I’m my (climate) case it’s esphome, not zigbee2mqtt.
however I see the problem OP describes in both, esphome and zigbee2mqtt auto discovered things.

I’m assuming @ccutrer fixed the OP (and your problem) with the renaming channels. I was veering off into your Preset mode comment to say there is a template in “esphome” code that defines the modes that might be worth looking at. FWIW An example from another program and another device with preset modes;

const AEROPAC: HassDevice = {
	type: 'fan',
	object_id: 'dimmer',
	values: ['38-0-currentValue', '38-0-targetValue'],
	discovery_payload: {
		command_topic: '38-0-targetValue',
		state_topic: '38-0-currentValue',
		preset_mode_command_topic: '38-0-targetValue',
		preset_mode_state_topic: '38-0-currentValue',
		percentage_command_topic: '38-0-targetValue',
		percentage_state_topic: '38-0-currentValue',
		preset_modes: [
			'off',
			'silent',
			'very low',
			'low',
			'medium',
			'high',
			'very high',
			'turbo',
		],
		speed_range_min: 1,
		speed_range_max: 7,
		percentage_value_template:
			'{{ {0:0, 16: 1, 32: 2, 48: 3, 64: 4, 80: 5, 96: 6, 99: 7}[value_json.value] }}',
		percentage_command_template:
			'{{ {0:0, 1: 16, 2: 32, 3: 48, 4: 64, 5: 80, 6: 96, 7: 99}[value] }}',
		state_value_template: '{{ OFF if value_json.value == 0 else ON }}',
		preset_mode_command_template:
			"{{ {'off': 0, 'silent': 16, 'very low': 32, 'low':48, 'medium': 64, 'high': 80, 'very high': 96, 'turbo': 99}[value] }}",
		preset_mode_value_template:
			"{{ {0:'off', 16: 'silent', 32: 'very low', 48: 'low', 64: 'medium', 80: 'high', 96: 'very high', 99: 'turbo'}[value_json.value] }}",
	},
}

I see the issue: core/homeassistant/components/mqtt/climate.py at dev · home-assistant/core · GitHub. This is not clear at all from the docs, but basically if any preset modes are allowed by the device, none is automatically allowed as a command, and somewhat implicitly as a state, but in Home Assistant "none" is a string, but either "none" or the "None" is accepted to set it to "none" (None – but not as a string! – is the Python way to refer to “having no value”). Anyhow, if you can file me an issue on GitHub, it should be a relatively straightforward fix.

Happy to do so! OpenHAB GitHub?
Edit:
Hope I did it correctly, still fumble a bit at GitHub: