Generic Thermostat 'State' not updating (Idle/Heat)

Working on a script to monitor the state of the heat so if it doesn’t run for an X amount of time I want to cycle it for a few minutes to make sure water is moving in the pipes. (Had freezing issues in the past).

The best way for me to implement the script is to know the state of the Thermostat (Idle/Heat). It seems like the state isn’t updated correctly.

I found this issue number #3740, along with a few post on the same issue but there has been no comments. Am I doing something wrong or is this really a bug?

configuration.yaml:

climate:
  - platform: generic_thermostat
    name: Bedroom Heat
    heater: switch.heat_zone_1
    target_sensor: sensor.lucas_temp
    min_temp: 45
    max_temp: 90
    target_temp: 66

switch:
  - platform: mqtt
    name: "Heat Zone 1"
    state_topic: "heat/zone1"
    command_topic: "heat/zone1"
    payload_on: "ON"
    payload_off: "OFF"
    optimistic: false
    qos: 0
    retain: true

sensor:
  - platform: mqtt
    name: "Lucas Temp"
    state_topic: "sensor/temperature"
    qos: 0
    unit_of_measurement: "°F"

This is not my complete configuration.yaml…can post if needed.

Thanks