[Bug] CurrentHeatingCoolingState not supported for Danfoss Ally thermostats 
CurrentHeatingCoolingState not supported for Danfoss Ally thermostats as otherwise mentioned in the documentation: https://z2m.dev/devices/danfoss/014g2461.html

It is caused by Danfoss ally to not expose running_state. Instead is exposes other properties like heatRequired and others.

**Related devices**
Danfoss Ally.

**To Reproduce**

1. Pair Danfoss ally thermostat with zigbee2mqtt.
2. Thermostats shows as always heating even when it is not.

**Expected behavior**
I expect to be able to see the current heat state.

**MQTT messages**
### Device entry
```json
{
      "date_code":"20201119",
      "definition":{
         "description":"Ally thermostat",
         "exposes":[
            {
               "access":1,
               "description":"Remaining battery in %",
               "name":"battery",
               "property":"battery",
               "type":"numeric",
               "unit":"%",
               "value_max":100,
               "value_min":0
            },
            {
               "access":7,
               "description":"Enables/disables physical input on the device",
               "name":"keypad_lockout",
               "property":"keypad_lockout",
               "type":"binary",
               "value_off":"unlock",
               "value_on":"lock1"
            },
            {
               "access":5,
               "description":"Is the unit in mounting mode. This is set to `false` for mounted (already on the radiator) or `true` for not mounted (after factory reset)",
               "name":"mounted_mode_active",
               "property":"mounted_mode_active",
               "type":"binary",
               "value_off":false,
               "value_on":true
            },
            {
               "access":7,
               "description":"Set the unit mounting mode. `false` Go to Mounted Mode or `true` Go to Mounting Mode",
               "name":"mounted_mode_control",
               "property":"mounted_mode_control",
               "type":"binary",
               "value_off":false,
               "value_on":true
            },
            {
               "access":7,
               "description":"Thermostat Orientation. This is important for the PID in how it assesses temperature. `false` Horizontal or `true` Vertical",
               "name":"thermostat_vertical_orientation",
               "property":"thermostat_vertical_orientation",
               "type":"binary",
               "value_off":false,
               "value_on":true
            },
            {
               "access":7,
               "description":"Viewing/Display Direction. `0` Horizontal or `1` Vertical",
               "name":"viewing_direction",
               "property":"viewing_direction",
               "type":"numeric",
               "value_max":1,
               "value_min":0
            },
            {
               "access":7,
               "description":"Not clear how this affects operation. `false` No Heat Available or `true` Heat Available",
               "name":"heat_available",
               "property":"heat_available",
               "type":"binary",
               "value_off":false,
               "value_on":true
            },
            {
               "access":5,
               "description":"Whether or not the unit needs warm water. `false` No Heat Request or `true` Heat Request",
               "name":"heat_required",
               "property":"heat_required",
               "type":"binary",
               "value_off":false,
               "value_on":true
            },
            {
               "access":1,
               "description":"Values observed are `0` (set locally) or `2` (set via Zigbee)",
               "name":"setpoint_change_source",
               "property":"setpoint_change_source",
               "type":"binary",
               "value_off":1,
               "value_on":0
            },
            {
               "features":[
                  {
                     "access":7,
                     "description":"Temperature setpoint",
                     "name":"occupied_heating_setpoint",
                     "property":"occupied_heating_setpoint",
                     "type":"numeric",
                     "unit":"°C",
                     "value_max":32,
                     "value_min":5,
                     "value_step":0.5
                  },
                  {
                     "access":5,
                     "description":"Current temperature measured on the device",
                     "name":"local_temperature",
                     "property":"local_temperature",
                     "type":"numeric",
                     "unit":"°C"
                  },
                  {
                     "access":1,
                     "description":"Position of the valve (= demanded heat) where 0% is fully closed and 100% is fully open",
                     "name":"pi_heating_demand",
                     "property":"pi_heating_demand",
                     "type":"numeric",
                     "unit":"%",
                     "value_max":100,
                     "value_min":0
                  },
                  {
                     "access":7,
                     "description":"Mode of this device",
                     "name":"system_mode",
                     "property":"system_mode",
                     "type":"enum",
                     "values":[
                        "heat"
                     ]
                  }
               ],
               "type":"climate"
            },
            {
               "access":5,
               "description":"0=Quarantine, 1=Windows are closed, 2=Hold - Windows are maybe about to open, 3=Open window detected, 4=In window open state from external but detected closed locally",
               "name":"window_open_internal",
               "property":"window_open_internal",
               "type":"numeric",
               "value_max":4,
               "value_min":0
            },
            {
               "access":7,
               "description":"Set if the window is open or close. This setting will trigger a change in the internal window and heating demand. `false` (windows are closed) or `true` (windows are open)",
               "name":"window_open_external",
               "property":"window_open_external",
               "type":"binary",
               "value_off":false,
               "value_on":true
            },
            {
               "access":7,
               "description":"Exercise day of week: 0=Sun...6=Sat, 7=undefined",
               "name":"day_of_week",
               "property":"day_of_week",
               "type":"enum",
               "values":[
                  "sunday",
                  "monday",
                  "tuesday",
                  "wednesday",
                  "thursday",
                  "friday",
                  "saturday",
                  "away_or_vacation"
               ]
            },
            {
               "access":7,
               "description":"Exercise trigger time. Minutes since midnight (65535=undefined). Range 0 to 1439",
               "name":"trigger_time",
               "property":"trigger_time",
               "type":"numeric",
               "value_max":65535,
               "value_min":0
            },
            {
               "access":7,
               "description":"Scale factor of setpoint filter timeconstant (\"aggressiveness\" of control algorithm) 1= Quick ...  5=Moderate ... 10=Slow",
               "name":"algorithm_scale_factor",
               "property":"algorithm_scale_factor",
               "type":"numeric",
               "value_max":10,
               "value_min":1
            },
            {
               "access":5,
               "description":"Load estimate on this radiator",
               "name":"load_estimate",
               "property":"load_estimate",
               "type":"numeric"
            },
            {
               "access":1,
               "description":"Link quality (signal strength)",
               "name":"linkquality",
               "property":"linkquality",
               "type":"numeric",
               "unit":"lqi",
               "value_max":255,
               "value_min":0
            }
         ],
         "model":"014G2461",
         "supports_ota":true,
         "vendor":"Danfoss"
      },
      "endpoints":{
         "1":{
            "bindings":[
               {
                  "cluster":"genPowerCfg",
                  "target":{
                     "endpoint":1,
                     "ieee_address":"0x00124b0023932b38",
                     "type":"endpoint"
                  }
               },
               {
                  "cluster":"hvacThermostat",
                  "target":{
                     "endpoint":1,
                     "ieee_address":"0x00124b0023932b38",
                     "type":"endpoint"
                  }
               }
            ],
            "clusters":{
               "input":[
                  "genBasic",
                  "genPowerCfg",
                  "genIdentify",
                  "genTime",
                  "genPollCtrl",
                  "hvacThermostat",
                  "hvacUserInterfaceCfg",
                  "haDiagnostic"
               ],
               "output":[
                  "genBasic",
                  "genOta"
               ]
            },
            "configured_reportings":[
               {
                  "attribute":"batteryPercentageRemaining",
                  "cluster":"genPowerCfg",
                  "maximum_report_interval":43200,
                  "minimum_report_interval":3600,
                  "reportable_change":1
               },
               {
                  "attribute":"localTemp",
                  "cluster":"hvacThermostat",
                  "maximum_report_interval":600,
                  "minimum_report_interval":0,
                  "reportable_change":25
               },
               {
                  "attribute":"pIHeatingDemand",
                  "cluster":"hvacThermostat",
                  "maximum_report_interval":600,
                  "minimum_report_interval":0,
                  "reportable_change":1
               },
               {
                  "attribute":"occupiedHeatingSetpoint",
                  "cluster":"hvacThermostat",
                  "maximum_report_interval":600,
                  "minimum_report_interval":0,
                  "reportable_change":25
               },
               {
                  "attribute":"danfossMountedModeActive",
                  "cluster":"hvacThermostat",
                  "maximum_report_interval":43200,
                  "minimum_report_interval":60,
                  "reportable_change":1
               },
               {
                  "attribute":"danfossWindowOpenInternal",
                  "cluster":"hvacThermostat",
                  "maximum_report_interval":3600,
                  "minimum_report_interval":60,
                  "reportable_change":1
               },
               {
                  "attribute":"danfossHeatRequired",
                  "cluster":"hvacThermostat",
                  "maximum_report_interval":600,
                  "minimum_report_interval":60,
                  "reportable_change":1
               }
            ]
         }
      },
      "friendly_name":"0x842e14fffe2abb65",
      "ieee_address":"0x842e14fffe2abb65",
      "interview_completed":true,
      "interviewing":false,
      "manufacturer":"Danfoss",
      "model_id":"eTRV0100",
      "network_address":39331,
      "power_source":"Battery",
      "software_build_id":"01.02.0008 01.02",
      "supported":true,
      "type":"EndDevice"
   }
```
   
### Status message

```json
{
   "algorithm_scale_factor":1,
   "battery":86,
   "day_of_week":"wednesday",
   "heat_available":true,
   "heat_required":true,
   "keypad_lockout":"unlock",
   "linkquality":60,
   "load_estimate":-32,
   "local_temperature":19.17,
   "mounted_mode_active":false,
   "mounted_mode_control":false,
   "occupied_heating_setpoint":19.5,
   "pi_heating_demand":100,
   "setpoint_change_source":"externally",
   "system_mode":"heat",
   "thermostat_vertical_orientation":false,
   "trigger_time":660,
   "update":{
      "state":"idle"
   },
   "update_available":false,
   "window_open_external":false,
   "window_open_internal":"closing"
}
```   


**Versions used**

- This plugin: v1.4.0
- Homebridge: v1.3.4
- Zigbee2MQTT: v1.21.0
