This automation never triggers, and for the life of me I can't figure out why

alias: FurnaceFan
description: >-
  Runs furnace fan if there is too large a temperature differential between
  - platform: numeric_state
    entity_id: sensor.emmarmdiff
    above: '1'
  - platform: numeric_state
    entity_id: sensor.emmarmdiff
    below: '-1'
  - condition: state
    entity_id: binary_sensor.people_home
    state: 'On'
  - data:
      fan_mode: 'on'
    entity_id: climate.living_room_thermostat
    service: climate.set_fan_mode
mode: single

Other variations I’ve tried are to run it every 5 minutes with numeric value conditions and building out the equivalent of the emmarmdiff template sensor as template sensor. No dice.

At the end of the day, I want to have my furnace fan kick on to circulate air if the temperature differential between two particular temp sensors is greater than 1 degree, but only if at least one person is home.

binary_sensor.people_home works, reporting On when someone is home, and Off when nobody is home.

Change 'On' to 'on' in the condition:

  - condition: state
    entity_id: binary_sensor.people_home
    state: 'on'

The correct state value for any entity is reported in Developer Tools > States and not in the Lovelace UI where it may be different for display purposes (aesthetic reasons). A binary_sensor’s states are lowercase on and off.