Skip to content

UART timeouts with periodic pattern.. Polling interval or unsupported fan speed query? #39

@chrispontiga

Description

@chrispontiga

I finally got this set up on an ESP32 NodeMCU with a 3.3V-to-5V level translator, and a 14V-to-5V buck. Conveniently the NodeMCU has a 5V-to 3.3V-LDO, so it easily provides the supplies for the level translator.

Using the sample configuration with UART on GPIO 16/17, I was pleasantly surprised it worked pretty much the first time and I was able to control the mini split in HA.

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

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

# The base UART communication hub.
daikin_s21:
  tx_uart: s21_uart
  rx_uart: s21_uart

climate:
  - name: My Daikin
    platform: daikin_s21
    visual:
      temperature_step: 1.0
    # Optional HA sensor used to alter setpoint.
    room_temperature_sensor: room_temp  # See homeassistant sensor below

# Optional additional sensors.
sensor:
  - platform: daikin_s21
    inside_temperature:
      name: My Daikin Inside Temperature
    outside_temperature:
      name: My Daikin Outside Temperature
    coil_temperature:
      name: My Daikin Coil Temperature
    fan_speed:
      name: My Daikin Fan Speed
  - platform: homeassistant
    id: room_temp
    entity_id: sensor.office_temperature
    unit_of_measurement: °F
Image

I noticed a zero RPM fan speed and decided to look at the logs. It appears I'm getting a UART timeout with a periodic pattern. My two initial thoughts were,

  1. Perhaps querying the fan speed was not supported on my unit
  2. Or judging from the timestamps, perhaps the polling interval is too frequent for the unit to keep up.
[22:19:22][D][climate:396]: 'My Daikin' - Sending state:
[22:19:22][D][climate:399]:   Mode: COOL
[22:19:22][D][climate:401]:   Action: COOLING
[22:19:22][D][climate:407]:   Custom Fan Mode: Silent
[22:19:22][D][climate:416]:   Swing Mode: OFF
[22:19:22][D][climate:419]:   Current Temperature: 27.00°C
[22:19:22][D][climate:425]:   Target Temperature: 28.50°C
[22:19:23][E][uart:015]: Reading from UART timed out at byte 0!
[22:19:23][W][daikin_s21:268]: Timeout waiting for F5 response
[22:19:25][E][uart:015]: Reading from UART timed out at byte 0!
[22:19:25][W][daikin_s21:268]: Timeout waiting for F9 response
[22:19:26][E][uart:015]: Reading from UART timed out at byte 0!
[22:19:26][W][daikin_s21:268]: Timeout waiting for Ra response
[22:19:27][D][climate:396]: 'My Daikin' - Sending state:
[22:19:27][D][climate:399]:   Mode: COOL
[22:19:27][D][climate:401]:   Action: COOLING
[22:19:27][D][climate:407]:   Custom Fan Mode: Silent
[22:19:27][D][climate:416]:   Swing Mode: OFF
[22:19:27][D][climate:419]:   Current Temperature: 27.00°C
[22:19:27][D][climate:425]:   Target Temperature: 28.50°C
[22:19:27][D][daikin_s21:272]: NAK from S21 for F1 query
[22:19:29][E][uart:015]: Reading from UART timed out at byte 0!
[22:19:29][W][daikin_s21:268]: Timeout waiting for F1 response
[22:19:30][D][sensor:104]: 'My Daikin Inside Temperature': Sending state 27.00000 °C with 1 decimals of accuracy
[22:19:30][D][sensor:104]: 'My Daikin Outside Temperature': Sending state 18.50000 °C with 1 decimals of accuracy
[22:19:30][D][sensor:104]: 'My Daikin Coil Temperature': Sending state 0.00000 °C with 1 decimals of accuracy
[22:19:30][D][sensor:104]: 'My Daikin Fan Speed': Sending state 0.00000 rpm with 0 decimals of accuracy
[22:19:31][E][uart:015]: Reading from UART timed out at byte 0!
[22:19:31][W][daikin_s21:268]: Timeout waiting for F5 response
[22:19:32][D][climate:396]: 'My Daikin' - Sending state:
[22:19:32][D][climate:399]:   Mode: COOL
[22:19:32][D][climate:401]:   Action: COOLING
[22:19:32][D][climate:407]:   Custom Fan Mode: Silent
[22:19:32][D][climate:416]:   Swing Mode: OFF
[22:19:32][D][climate:419]:   Current Temperature: 27.00°C
[22:19:32][D][climate:425]:   Target Temperature: 28.50°C
[22:19:33][E][uart:015]: Reading from UART timed out at byte 0!
[22:19:33][W][daikin_s21:268]: Timeout waiting for F9 response
[22:19:34][E][uart:015]: Reading from UART timed out at byte 0!
[22:19:34][W][daikin_s21:268]: Timeout waiting for Ra response
[22:19:35][D][daikin_s21:272]: NAK from S21 for F1 query
[22:19:37][D][climate:396]: 'My Daikin' - Sending state:
[22:19:37][D][climate:399]:   Mode: COOL
[22:19:37][D][climate:401]:   Action: COOLING
[22:19:37][D][climate:407]:   Custom Fan Mode: Silent
[22:19:37][D][climate:416]:   Swing Mode: OFF
[22:19:37][D][climate:419]:   Current Temperature: 27.00°C
[22:19:37][D][climate:425]:   Target Temperature: 28.50°C
[22:19:37][E][uart:015]: Reading from UART timed out at byte 0!
[22:19:37][W][daikin_s21:268]: Timeout waiting for F1 response
[22:19:39][E][uart:015]: Reading from UART timed out at byte 0!
[22:19:39][W][daikin_s21:268]: Timeout waiting for F1 response
[22:19:40][D][sensor:104]: 'My Daikin Inside Temperature': Sending state 27.00000 °C with 1 decimals of accuracy
[22:19:40][D][sensor:104]: 'My Daikin Outside Temperature': Sending state 18.50000 °C with 1 decimals of accuracy
[22:19:40][D][sensor:104]: 'My Daikin Coil Temperature': Sending state 0.00000 °C with 1 decimals of accuracy
[22:19:40][D][sensor:104]: 'My Daikin Fan Speed': Sending state 0.00000 rpm with 0 decimals of accuracy
[22:19:41][E][uart:015]: Reading from UART timed out at byte 0!
[22:19:41][W][daikin_s21:268]: Timeout waiting for F1 response

Anything revealing from the looks of these logs?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions