ESPHome 2025.11.2: Sensors Unknown In Home Assistant

by Admin 55 views
ESPHome 2025.11.2: Fixing "Unknown" Sensor Values in Home Assistant

Hey everyone! Having issues with your ESPHome setup after upgrading to version 2025.11.2? Specifically, are all your sensors showing up as "unknown" in Home Assistant (HA)? You're not alone! This guide will walk you through troubleshooting steps and potential solutions to get your sensors back online and reporting accurate data.

The Problem: Sensors Displaying as "Unknown"

After updating to ESPHome 2025.11.2, some users have reported that all sensor values within Home Assistant appear as "unknown." Despite the climate control and other functionalities working correctly, the sensor data refuses to populate, leaving you with a frustratingly incomplete view of your environment. Let's dive into the potential causes and fixes for this issue.

Initial Configuration and Setup

First, let's examine the user's initial configuration, which involves a Daikin S21 A/C unit controlled via ESPHome. The YAML configuration includes UART setup, external components, climate control settings, and sensor definitions. The user is employing an ESP32C6 board and has defined various sensors to monitor parameters like temperature, humidity, fan speed, and compressor frequency.

esphome:
  name: sens-bedroom
  devices:
    - id: daikin_bedroom_outdoor
      name: "Daikin Bedroom Compressor"

esp32:
  board: esp32-c6-devkitc-1
  variant: ESP32C6
  flash_size: 4MB
  framework:
    type: esp-idf

preferences:
  flash_write_interval: 72h

external_components:
  - source: github://asund/esphome-daikin-s21@main
    components: [ daikin_s21 ]

uart:
  - id: s21_uart
    tx_pin: GPIO16
    rx_pin: GPIO17
    baud_rate: 2400
    data_bits: 8
    parity: EVEN
    stop_bits: 2

daikin_s21:
  uart: s21_uart
  debug_protocol: true # please enable when reporting logs!
# update_interval: 5s  # also supports periodic polling instead of more responsive free run

climate:
  name: Daikin Bedroom A/C
  platform: daikin_s21
  visual:
    temperature_step:
      target_temperature: 0.5
      current_temperature: 0.1
    min_temperature: 18
    max_temperature: 40
  supported_modes:  # off is always supported
    - heat_cool
    - cool
    - heat
    - dry
    - fan_only
  supported_presets:  # none is always supported
    - eco
    - boost
  # Optional HA sensor used to alter setpoint.
  humidity_sensor: daikin_humidity
  sensor: room_temp  # See homeassistant sensor below
  
sensor:
  - platform: daikin_s21
    update_interval: 0s
    inside_temperature:
      name: Daikin Bedroom A/C Inside Temperature
      id: bedroom_ac_inside_temp
      filters:
        - delta: 0.0      
    outside_temperature:
      name: Daikin Bedroom A/C Outside Temperature
      device_id: daikin_bedroom_outdoor
      filters:
        - delta: 0.0      
    fan_speed:
      name: Daikin Bedroom Fan Speed
      filters:
        - delta: 0.0
    swing_vertical_angle:
      name: Daikin Bedroom Swing Vertical Angle
      filters:
        - delta: 0.0      
    compressor_frequency:
      name: Daikin Bedroom Compressor Frequency
      device_id: daikin_bedroom_outdoor
      filters:
        - delta: 0.0      
    humidity:
      id: daikin_humidity
      name: Daikin Bedroom Humidity
      filters:
        - delta: 0.0      
    demand:
      name: Daikin Bedroom Demand  # 0-15 demand units, use filter to map to %
      filters:
        - multiply: !lambda return 100.0F / 15.0F;
        - delta: 0.0
    # Protocol Version 2:
    ir_counter:
      name: IR Counter
      filters:
        - delta: 0.0      
    power_consumption:
      name: Power Consumption
      unit_of_measurement: "kW"
      filters:
        - delta: 0.0
    outdoor_capacity:
      name: Outdoor Capacity
      device_id: daikin_bedroom_outdoor
      filters:
        - delta: 0.0        
  - platform: homeassistant
    id: room_temp
    entity_id: sensor.bedroom_temperature_humidity_sensor_temperature
    unit_of_measurement: °C
    accuracy_decimals: 1
  - platform: homeassistant
    id: room_humidity
    entity_id: sensor.bedroom_temperature_humidity_sensor_humidity
    unit_of_measurement: "%"
    accuracy_decimals: 1    

binary_sensor:
  - platform: daikin_s21
    powerful:
      name: Powerful
    defrost:
      name: Defrost
    online:
      name: Online
    valve:
      name: Valve
    short_cycle:
      name: Short Cycle
      device_id: daikin_bedroom_outdoor
    system_defrost:
      name: System Defrost
      device_id: daikin_bedroom_outdoor
    multizone_conflict:
      name: Multizone Conflict
      device_id: daikin_bedroom_outdoor

text_sensor:
  - platform: daikin_s21
    software_version:
      name: Daikin S21 Software Version

The user also provided logs, here is an excerpt:

[17:48:31.640][D][daikin_s21:1067]: Protocol: 0.0  ModelV0: 4431  ModelV2: FFFF
[17:48:31.641][D][daikin_s21:1077]:  G8: 0200  GY00: G\x00\x00\x00\x00\x00  V: NAK
[17:48:31.642][D][daikin_s21:1082]: ModelInfo: N  VSwing: Y  HSwing: N  Humid: N  Fan: Y
[17:48:31.652][D][daikin_s21:1091]:  G2: 34:3A:80:80  GK: N/A  ActiveSrc: undetected  PowerfulSrc: disabled
[17:48:31.653][D][daikin_s21:1097]: Mode: OFF  Action: OFF  Preset: NONE  Demand: 0
[17:48:31.653][D][daikin_s21:1103]: Fan: Automatic (0 RPM)  Swing: OFF
[17:48:31.653][D][daikin_s21:1108]: Setpoint: 23.0C  Target: 0.0C  Inside: 16.0C  Coil: 0.0C
[17:48:31.653][D][daikin_s21:1116]: Cycle Time: 668ms  UnitState: 0  SysState: 00
[17:48:31.654][D][daikin_s21:1131]: Enabled: F1,F5,F9,Rd
[17:48:31.654][D][daikin_s21:1132]:   Nak'd: RG,RH,RL,RN,Ra,Rb,Rg,V,VS000M
[17:48:31.654][D][daikin_s21:1133]:  Static: F2,F8,FY00,M

Troubleshooting Steps

Let's go through some troubleshooting steps to identify the root cause:

1. Verify Basic Connectivity

Ensure that your ESP32 device is properly connected to your Wi-Fi network. A stable network connection is crucial for Home Assistant to communicate with the ESPHome device and receive sensor data. Check the ESPHome logs for any Wi-Fi connection errors or disconnections.

2. Check ESPHome Logs

The ESPHome logs are your best friend here. Enable verbose logging in your ESPHome configuration to get detailed information about what's happening behind the scenes. Pay close attention to any error messages or warnings related to sensor readings, UART communication, or the Daikin S21 component. The provided logs show that the device is communicating, but further investigation is needed to see if the sensor data is being correctly parsed and transmitted.

3. Review the Daikin S21 Component

Since you're using an external component (asund/esphome-daikin-s21), make sure it's compatible with ESPHome 2025.11.2. Check the component's repository for any recent updates, known issues, or compatibility notes. It's possible that the component needs to be updated to work correctly with the latest ESPHome version. Reach out to the component's author or community for support.

4. Update Intervals and Polling

Examine your sensor update intervals. Setting update_interval: 0s might cause issues. Try setting a reasonable update interval like 5s or 10s to see if it resolves the problem. While the daikin_s21 component supports free-run updates, it's worth testing periodic polling to rule out any timing-related issues.

5. Home Assistant Integration

Double-check the Home Assistant integration for your ESPHome device. Remove and re-add the device to ensure that the entities are correctly configured. Sometimes, entities can become corrupted during updates, leading to incorrect data or "unknown" values.

6. Protocol Debugging

You've already enabled debug_protocol: true, which is excellent. Analyze the protocol data in the logs to see if the sensor values are being correctly received and interpreted. Look for any discrepancies or unexpected data patterns. Compare the logs with the component's documentation or community resources to understand the expected data format.

7. UART Configuration

Verify that your UART configuration is correct. The tx_pin, rx_pin, baud_rate, data_bits, parity, and stop_bits settings must match the specifications of your Daikin S21 A/C unit. Incorrect UART settings can lead to communication errors and garbled sensor data.

8. Check for Conflicting Components

Look for any conflicting components or configurations in your ESPHome setup. Sometimes, other components can interfere with the Daikin S21 component, causing unexpected behavior. Try disabling other components temporarily to see if it resolves the issue.

9. Downgrade ESPHome Version (Temporary)

As a last resort, consider temporarily downgrading to the previous ESPHome version (2025.10.x) to see if the issue persists. If the sensors start working correctly after downgrading, it indicates a compatibility issue with ESPHome 2025.11.2. Report the issue to the ESPHome developers and the Daikin S21 component author.

Analyzing the Logs

The provided logs offer some clues. The line Nak'd: RG,RH,RL,RN,Ra,Rb,Rg,V,VS000M indicates that the ESP32 is not receiving acknowledgements (NAK) for certain data requests. This could point to a communication problem between the ESP32 and the Daikin unit. It might be related to timing, UART settings, or the way the component is handling the protocol. The Protocol: 0.0 ModelV0: 4431 ModelV2: FFFF also is strange. Protocol 0.0 is not right. It should be 1, 2, or 3.

Specific Recommendations

  1. Review UART Settings: Double-check that the UART settings (baud rate, parity, stop bits) match the Daikin S21's requirements. Even a slight mismatch can cause communication errors.
  2. Check Wiring: Ensure that the TX and RX pins are correctly wired between the ESP32 and the Daikin unit. A loose connection or incorrect wiring can disrupt communication.
  3. Investigate NAKs: Research the meaning of the NAK codes in the logs (RG, RH, etc.). This might provide insights into which data requests are failing and why.
  4. Consult the Component Author: Reach out to the author of the asund/esphome-daikin-s21 component for assistance. They might have specific knowledge or updates related to ESPHome 2025.11.2.

Final Thoughts

Debugging sensor issues in ESPHome can be a bit of a detective game. By systematically going through these troubleshooting steps, analyzing the logs, and seeking community support, you should be able to identify the cause of the "unknown" sensor values and get your Daikin S21 integration working smoothly again. Good luck, and happy automating! Remember to share your findings with the community to help others facing similar issues.