-**active_state** (*Optional*): Configuration for the Active State Configuration.
-**datapoint** (**Required**, int): The datapoint id number of the active state - :ref:`see below <active_state_detection>`.
-**heating_value** (*Optional*, int): The active state datapoint value the device reports when heating. Defaults to ``1`` - :ref:`see below <active_state_detection>`.
-**cooling_value** (*Optional*, int): The active state datapoint value the device reports when cooling - :ref:`see below <active_state_detection>`.
-**drying_value** (*Optional*, int): The active state datapoint value the device reports when in drying mode.
-**fanonly_value** (*Optional*, int): The active state datapoint value the device reports when in Fan Only mode.
-**preset** (*Optional*): Configuration for presets.
-**eco** (*Optional*): Configuration for Eco preset.
-**datapoint** (**Required**, int): The datapoint id number of the Eco action.
-**temperature** (*Optional*, int): Temperature setpoint for Eco preset.
-**sleep** (*Optional*): Configuration for Sleep preset
-**datapoint** (**Required**, int): The Datapoint id number of the Sleep Action
-**swing_mode** (*Optional*): Configuration for the swing (oscillation) modes.
-**vertical_datapoint** (*Optional*, int): The datapoint id number of the vertical swing action.
-**horizontal_datapoint** (*Optional*, int): The datapoint id number of the horizontal swing action.
-**fan_mode** (*Optional*): Configuration for fan modes/fan speeds.
-**datapoint** (**Required**, int): The datapoint id number of the Fan value state.
-**auto_value** (*Optional*, int): The datapoint value the device reports when the fan is on ``auto`` speed.
-**low_value** (*Optional*, int): The datapoint value the device reports when the fan is on ``low`` speed.
-**medium_value** (*Optional*, int): The datapoint value the device reports when the fan is on ``medium`` speed.
-**middle_value** (*Optional*, int): The datapoint value the device reports when the fan is on ``middle`` speed. (May set to device's ``high`` value if you have a ``Turbo`` option).
-**high_value** (*Optional*, int): The datapoint value the device reports when the fan is on ``high`` speed. (Sometimes called ``Turbo``).
-**heating_state_pin** (*Optional*, :ref:`config-pin`): The input pin indicating that the device is heating - :ref:`see below <active_state_detection>`. Only used if **active_state_datapoint** is not configured.
-**cooling_state_pin** (*Optional*, :ref:`config-pin`): The input pin indicating that the device is cooling - :ref:`see below <active_state_detection>`. Only used if **active_state_datapoint** is not configured.
-**temperature_multiplier** (*Optional*, float): A multiplier to modify the incoming and outgoing temperature values - :ref:`see below <temperature-multiplier>`.
-**reports_fahrenheit** (*Optional*, boolean): Set to ``true`` if the device reports temperatures in Fahrenheit. ESPHome expects all climate temperatures to be in Celcius, otherwise unexpected conversions will take place when it is published to Home Assistant. Defaults to ``false``.
Some Tuya climate devices report the active state (idle/heating/cooling) via a tuya data point. In this case, you can use the **active_state_datapoint** variable together with **active_state_heating_value** and **active_state_cooling_value**.
If your device does not make a data point available for this, it is possible to modify the hardware so that the relay outputs can be read by the ESP. Please refer to `this discussion <https://github.com/klausahrenberg/WThermostatBeca/issues/17>` for more details on the required modifications. You can then use the **heating_state_pin** and/or **cooling_state_pin** configuration variables to detect the current state.
If none of the above variables are set, the current state is inferred from the difference between the current and target temperatures.
If **supports_heat** is ``True`` and the current temperature is more than 1 °C below the target temperature, the device is expected to be heating.
If **supports_cool** is ``True`` and the current temperature is more than 1 °C above the target temperature, the device is expected to be cooling.