interesting thanks for explaining that. Can I ask you to post your config please?
I have a separate sensor in the room and want it displayed in Celsius which I have added to the code but not sure if its even remotely correct.
Sure, i have a tiny bit more complicated setup, though: i added a switch which allows me to choose from HA either internal or external sensor to be used. So first you must create this switch:
It’s a good idea to add “remote_temperature_timeout: 30min” to your climate section. This will ensure that internal sensor will be used after 30 minutes if external is unavailable.
climate:
- platform: cn105
id: climate_garage
name: "Climate garage"
icon: mdi:heat-pump
hp_uptime_connection_sensor:
name: Climate garage HP Uptime
update_interval: 30s
visual:
min_temperature: 15
max_temperature: 31
temperature_step:
target_temperature: 0.5
current_temperature: 0.1
vertical_vane_select: # not all climates support this!
name: Climate garage vertical vane
horizontal_vane_select: # not all climates support this!
name: Climate garage horizintal vane
remote_temperature_timeout: 30min
debounce_delay : 500ms
update_interval: 1500ms
Wow thanks for that but I am having trouble understanding it. So I cracked open the Mitsu after flashing the previous config. I have this installed it
So the Mitsu shows 22.5 deg currently in the above pic while the external sensor I added had this in developer tools.
So is this the Mitsu showing me its internal temp sensor?
I definitely added it in the config as you can see per my previous post and I dont see it anywhere. Can you see any issues with my previous post? Asking as not sure what the Mitsu did with that one…
Also if I add your code I assume I can see this switch in the config but is this what the Mitsu will use as the target naturally?
You can temporarily set “internal: false” for your homeassistant sensor, so you’ll see if temperautre value will show up (it should show same value as your external temperature sensor). If it does, then climate should use external temperature, which is set with lambda command “id(climate_garage).set_remote_temperature(x);”. If you want to go back to internal just send zero value with this command: “id(climate_garage).set_remote_temperature(0)”.
Note that this command is only executed when temperature sensor changes value, so it may take time.
Since there are two options for using remote temperature (one is explained above, other one is to use services via HA) perhaps you read original Geoff Davis’s page, where it’s a bit better explained: https://github.com/geoffdavis/esphome-mitsubishiheatpump
search under “Remote temperature”.
esphome:
name: garage-ac
friendly_name: Garage AC
esp8266:
board: esp01_1m
# Enable logging
logger:
hardware_uart: UART1
level: INFO
logs:
EVT_SETS : INFO
WIFI : INFO
MQTT : INFO
WRITE_SETTINGS : INFO
SETTINGS : INFO
STATUS : INFO
CN105Climate: WARN
CN105: INFO
climate: WARN
sensor: WARN
chkSum : INFO
WRITE : WARN
READ : WARN
Header: INFO
Decoder : INFO
CONTROL_WANTED_SETTINGS: INFO
# level: DEBUG
# logs:
# EVT_SETS : DEBUG
# WIFI : INFO
# MQTT : INFO
# WRITE_SETTINGS : DEBUG
# SETTINGS : DEBUG
# STATUS : INFO
# CN105Climate: WARN
# CN105: DEBUG
# climate: WARN
# sensor: WARN
# chkSum : INFO
# WRITE : WARN
# READ : WARN
# Header: INFO
# Decoder : DEBUG
# CONTROL_WANTED_SETTINGS: DEBUG
# Enable Home Assistant API
api:
encryption:
key: "removed"
services:
- service: set_remote_temperature
variables:
temperature: float
then:
# Select between the C version and the F version
# Uncomment just ONE of the below lines. The top receives the temperature value in C,
# the bottom receives the value in F, converting to C here.
- lambda: 'id(hp).set_remote_temperature(temperature);'
# - lambda: 'id(hp).set_remote_temperature((temperature - 32.0) * (5.0 / 9.0));'
- service: use_internal_temperature
then:
- lambda: 'id(hp).set_remote_temperature(0);'
ota:
- platform: esphome
password: "removed"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Garage-Ac Fallback Hotspot"
password: "removed"
captive_portal:
# Enable Web server.
web_server:
port: 80
# Sync time with Home Assistant.
time:
- platform: homeassistant
id: homeassistant_time
text_sensor:
- platform: wifi_info
ip_address:
name: "garage-ac IP Address"
binary_sensor:
- platform: status
name: "garage-ac Connect"
uart:
id: HP_UART
baud_rate: 2400
tx_pin: 1
rx_pin: 3
# external_components:
# - source: github://geoffdavis/esphome-mitsubishiheatpump
# External component reference
external_components:
- source: github://echavet/MitsubishiCN105ESPHome
# Climate entity configuration
climate:
- platform: cn105
id: hp
name: Garage AC
icon: mdi:heat-pump
visual:
min_temperature: 15
max_temperature: 31
temperature_step:
target_temperature: 1
current_temperature: 0.1
outside_air_temperature_sensor:
name: garage-ac Outside Air Temperature
vertical_vane_select:
name: garage-ac Vertical Vane
horizontal_vane_select:
name: garage-ac Horizontal Vane
isee_sensor:
name: garage-ac ISEE Sensor
remote_temperature_timeout: 30min
debounce_delay : 500ms
update_interval: 4s # update interval can be ajusted after a first run and logs monitoring*
stage_sensor:
name: Stage Sensor
sub_mode_sensor:
name: Sub Mode Sensor
auto_sub_mode_sensor:
name: Auto Sub Mode Sensor
sensor:
- platform: homeassistant
name: "garage-ac-Temp"
id: current_temp
internal: false
device_class: temperature
unit_of_measurement: "°C"
entity_id: sensor.garage_aq_temperature
on_value:
then:
- lambda: |-
id(hp).set_remote_temperature(0);
- platform: wifi_signal
name: "garage-ac WiFi Strength"
update_interval: 60s
- platform: uptime
name: "garage-ac Uptime"
switch:
- platform: restart
name: "garage-ac reboot"
# stage_sensor:
# name: Stage Sensor
# sub_mode_sensor:
# name: Sub Mode Sensor
# auto_sub_mode_sensor:
# name: Auto Sub Mode Sensor
So couple of questions
Does it reflect the sensor it is relying on in the climate control?
The 20°C is that the internal temp?
The 15°C outside air temp what is that?
The 22.5°C seems to be sensor.garage_aq_temperature?
Also how do I know which one its taking into account currently if I assume its showing the internal one?
note that X instead of zero, which means that you’re sending external temperature value. Entering zero means going back to internal - this is what you’re doing right now.
When current temperature of climate will show the same as your external sensor then you’ll know that climate is using external sensor. Note that it can take time for external temperature to show in HA, since “on_value” part is only executed when temperature in external sensor changes. So, quick test would be to warm it with your hand to force temperature change.
If external sensor will be unavailable for 30 minutes (set by “remote_temperature_timeout” variable) system will automatically go to internal one. I modified that part in my example so system goes to internal immediately when/if sensor is offline (second if—then part of my example - if(id(garage_temperature)…)
temperature resolution (2 decimals). You could change to %.1f (1 decimal). I’m not sure why i left to 2 digits; leftover from testing, i guess… it doesn’t harm, though.
I just managed to get this working thanks to this thread:
When drawks refers to ‘lifting’ a pin, I think he’s referring to physically lifting the pin and soldering a 470 ohm resistor connected to the RX pin on the board. I managed to use a soldering iron and some solder wick the remove the solder and lift pin 2 of the CH340C
I just installed a new one in a friend’s airbnb’s Mitsubishi floor mount mini. Worked just like the wall mount units I’d done before.
This time I used a wifi-serial board: https://www.aliexpress.us/item/2251832809191470.html (choose the ESP8266 + Antenna 3 dollar option, not the 97 cent antenna only).
This board is already set up with level conversion for a 5v data line on the correct UART pins. Plugged right in and worked great, no messing with lifting pins required.
Issue resolved. I read some other posts and the FTD I was using I had set to 3.3v for the Sonoff units I flash. Reading some of the information on the chip it has an inbuilt regulator, so I bumped the jumper on the FTD to 5v and all programmed as expected and connected to the Mitsubishi AC, working great.
Hi Jesse,
As you mentioned, I purchased a DIYMore ESP8266 board which on the board it says ESP8266MOD.
I have loaded ESPHome on my HA instance and I have opened the ESPHome Web.
I have the ESP8266 in Program mode (using the switch), I have it connected to my FTD connected to the USB port on my PC and crossed the RX and TX.
I can flash the Prepare for First Use, or I can Install the .bin file from ESPHome, but either way, I am not able to see the device, or when I go to Prepare for First Use, I get the error “An error occurred. Improv Wi-Fi Serial not detected”.
I can not see any strange APs around to connect to either.
Could you please point me in the right direction? A couple of step by step instructions would be wonderful.
I will appreciate for your help. I’ve purchased D1 mini (probably clone).
Flashed it and connected like it was on the screenshots above (5V, only 4 pins TX, RX, G, 5V). Everything works like a charm. Thank you!
Except… Either AC or ESP 8266 makes loud high frequency sound. I have 2 Mitsubishi ACs and both make this sound. I’m not a pro in electronics and I will highly appreciate your help.
Sorry for not following up sooner, but glad to hear you got the DIYMore board to program! Good to note the need for 5V from the FTD/TTL board. I’ve made that mistake before as well, though I probably wouldn’t have thought of it.
The unit I added that board to is still working great, so far so good and can continue to recommend it.
Hmm. I know I did not hear this on the unit I just set up, but I do feel like I’ve heard a high frequency sound at times from some of the 7 at my ex partner’s house. I wonder if it is related to the D1 board…
Are you saying you did not get the high pitch whine before adding esp’s?
Yes. I can hear the high pitch only when D1 board is connected, And this sound is very loud especially when AC is disabled.
UPD: There is still high frequency sound even without D1 mini even though it’s not as loud as with D1 board connected.
I hope D1 board did not break the AC. Below is the image of the board