I’m trying to set up an IR remote for a new portable heat pump I got and running into issues.
Problem #1: IR receiver does not work at all. (looks like this bug)
Problem #2: min temp only lets me set down to 61F, not 60F
Unit is a Whynter ARC-1230WNH which is (as best I can understand) a rebrand of the Midea Duo 14,000 BTU. They are identical in specs, case, etc.
Referencing these documents:
The IR codes for whynter
don’t work but the media_ir
codes command the unit just fine except for the fact it won’t set it to 60F for some reason (61F works). Factory remote supports 60-86F and 16-30C range.
YAML:
esphome:
name: whynter_portable_heatpump
platform: ESP8266
board: d1_mini
wifi:
networks:
- ssid: !secret ssid
password: !secret password
bssid: !secret bssid_upstairs-EWS377AP-local
priority: 2
- ssid: !secret ssid
password: !secret password
priority: 1
domain: !secret dns_suffix
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "whynter_portable_heatpump setup"
captive_portal:
# Enable logging
logger:
baud_rate: 0
# Enable Home Assistant API
api:
ota:
- platform: esphome
switch:
# Allow forced-reboot from HomeAssistant
- platform: restart
name: "whynter_portable_heatpump Restart"
# To use your dallas sensor, first define a dallas “hub” with a pin
# This is where the data-pin of the DS18B20 temp-sensor is connected
one_wire:
- platform: gpio
pin: D7
sensor:
# Temperature sensor
- platform: dallas_temp
#index: 0
id: room_temp
name: "whynter_portable_heatpump Temperature"
#internal: true
status_led:
pin:
number: D4
inverted: true
remote_transmitter:
pin: D5
carrier_duty_percent: 50%
remote_receiver:
id: rcvr
dump: all
pin:
number: D6
inverted: true
mode:
input: true
pullup: false
# high 55% tolerance is recommended for some remote control units
tolerance: 55%
climate:
#- platform: whynter
- platform: midea_ir
name: "Whynter Portable Heatpump"
supports_cool: true
supports_heat: true
use_fahrenheit: true
receiver_id: rcvr
sensor: room_temp
visual:
temperature_step: 1
min_temperature: 16
max_temperature: 30
IR receiver dumps this out in debug when I push buttons changing the temperature by 1 degree:
[18:02:26][I][remote.pronto:231]: Received Pronto: data=
[18:02:26][I][remote.pronto:233]: 0000 006D 0001 0000 000B 0181
[18:02:27][I][remote.pronto:231]: Received Pronto: data=
[18:02:27][I][remote.pronto:233]: 0000 006D 0028 0000 0003 007E 0009 0076 0007 0077 0013 00EC 001A 0063 0018 006C 001B 005F 0011 000F 0008 0062 0019 005C 001F 0064 0023 0056 0003 0006 0008 000A 0006 005E 0003 000A 001C 0066 000D 0070 000D 0070 000F 0079 0015 0066
[18:02:27][I][remote.pronto:233]: 0008 000A 0006 0004 000D 004F 0024 006A 001F 0074 000B 0072 000D 0006 0003 006B 001E 0077 0008 0073 0017 0073 000B 00F6 000D 007B 0014 0067 0006 0004 0014 00EC 0009 0071 000A 00FB 0002 0181
[18:02:27][I][remote.pronto:231]: Received Pronto: data=
[18:02:27][I][remote.pronto:233]: 0000 006D 0001 0000 0005 0181
[18:02:27][I][remote.pronto:231]: Received Pronto: data=
[18:02:27][I][remote.pronto:233]: 0000 006D 0001 0000 0009 0181
[18:02:27][I][remote.pronto:231]: Received Pronto: data=
[18:02:27][I][remote.pronto:233]: 0000 006D 0001 0000 000A 0181
[18:02:28][I][remote.pronto:231]: Received Pronto: data=
[18:02:28][I][remote.pronto:233]: 0000 006D 0022 0000 0007 0070 0012 0074 0003 00F0 000B 0078 000F 0076 000B 0075 0011 0077 0006 0070 0014 006E 0003 0006 0008 006F 0011 0063 001E 0062 0024 0053 0036 0047 0038 0044 0003 0006 0035 003B 004F 0030 004B 0034 005A 002B
[18:02:28][I][remote.pronto:233]: 0046 0035 0051 0027 0056 002F 004C 003F 003E 0043 003F 003F 003D 0037 004D 0026 0060 000A 0009 0013 00D2 002D 0006 0013 002A 0181
I’m at a loss what else to do.