esphome / issues

Issue Tracker for ESPHome
https://esphome.io/
290 stars 36 forks source link

Whirlpool IR Climate sends incorrect code to HVAC unit #5942

Open sohowaty opened 4 months ago

sohowaty commented 4 months ago

The problem

Changing temperature from captive portal or Home Assistant climate entity sends incorrect IR code - there's a -2*C offset on set temperature. Data received from remote is parsed correctly.

Installed unit: Whirlpool SPIW312L Remote controller: DG11J1-3A

I've made a 'dirty' fix in whirlpool.cpp that works for me (attached in additional informations), at least in short testing, but my C/Cpp knowledge is very limited. I can try to provide more logs from the remote if needed.

Byte 6 and 7 changes when '6th Sense' button is used. Said button sets HEAT_COOL mode in esphome, but temperature change is not working at all. It's a minor issue in my use case, although I can provide logs too.

Which version of ESPHome has the issue?

2024.5.5

What type of installation are you using?

Home Assistant Add-on

Which version of Home Assistant has the issue?

2024.6.3

What platform are you using?

ESP8266

Board

ESP_IR_TR_V1.1

Component causing the issue

whirlpool

Example YAML snippet

esphome:
  name: ac-controller
  friendly_name: AC Controller

esp8266:
  board: esp8285

web_server:
  port: 80

# Enable logging
logger:
  level: VERBOSE

# Enable Home Assistant API
api:
  encryption:
    key: ""
ota:
  password: ""

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Ac-Controller Fallback Hotspot"
    password: ""

captive_portal:

text_sensor:
  - platform: version
    name: "ESPHome Version"

remote_receiver:
  id: ir_receiver
  pin:
    number: GPIO14
    inverted: true

remote_transmitter:
  pin: GPIO4
  carrier_duty_percent: 50%

climate:
  - platform: whirlpool
    name: Living Room AC
    receiver_id: ir_receiver
    visual:
      min_temperature: 18
      max_temperature: 32
      temperature_step: 1.0

Anything in the logs that might be useful for us?

# Received code from Remote
21:04:06    [V] [whirlpool.climate:204] 
Received: 83 06 00 62   00 00 94 39   00 00 00 00   00 CF 00 02   00 00 00 00   02
21:04:06    [V] [whirlpool.climate:218] 
Power: 00
21:04:06    [D] [climate:396]   
'Living Room AC' - Sending state:
21:04:07    [D] [climate:399]   
  Mode: OFF
21:04:07    [D] [climate:404]   
  Fan Mode: AUTO
21:04:07    [D] [climate:416]   
  Swing Mode: OFF
21:04:07    [D] [climate:425]   
  Target Temperature: 24.00°C

# Sent code from esphome controller

21:04:32    [V] [whirlpool.climate:114] 
Sending: 83 06 00 60   00 00 80 00   00 00 00 00   00 E0 00 00   00 00 08 00   08
21:04:32    [D] [remote_transmitter:075]    
Sending remote code...
21:04:32    [D] [climate:396]   
'Living Room AC' - Sending state:
21:04:32    [D] [climate:399]   
  Mode: OFF
21:04:32    [D] [climate:404]   
  Fan Mode: AUTO
21:04:32    [D] [climate:416]   
  Swing Mode: OFF
21:04:32    [D] [climate:425]   
  Target Temperature: 24.00°C

Additional information

Index       0  1  2  3    4  5  6  7    8  9 10 11   12 13 14 15   16 17 18 19   20
Received:  83 06 00 62   00 00 94 39   00 00 00 00   00 CF 00 02   00 00 00 00   02     # 24C
Sending:   83 06 00 60   00 00 80 00   00 00 00 00   00 E0 00 00   00 00 08 00   08     # 24C
After fix: 83 06 00 72   00 00 94 39   00 00 00 00   00 DF 00 06   00 00 00 00   06

Modified whirlpool.cpp: whirlpool.zip

github-actions[bot] commented 6 days ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.