I have the exact same air conditioner, and i’m interested in your solution. Do you have complete schematics to know where to connect the pins of the D1 mini to the motherboard of the hj35va ?
What would happen if you connect both the Wemos D1 and the original WiFi module?
Hey, please remember each configuration might be slightly different,
however I have tried connecting Wemos after the original WiFi module and my Wemos did not start (there is a chance no 5V line is present)
That might be a bad time… and possibly fry the PCB…
It will probably not fry anything since my Wifi module is connected to another connector (CN104)?
I used this configuration with wemos d1 and works very well without hardware modifications
uart:
id: HP_UART
baud_rate: 2400
tx_pin: 1
rx_pin: 3
external_components:
- source: github://echavet/MitsubishiCN105ESPHome
# Climate entity configuration
climate:
- platform: cn105
name: "My Heat Pump"
update_interval: 4s
I’ve got a 8 year old Mitsubishi system and have been struggling with kumo cloud this entire time. I want to finally kick it to the curb and use this project.
However I’m confused at what is exactly needed given all the discussion about the various boards, versions etc. I also realize that support varies based on my equipment.
Here’s what I have:
-
Outdoor heat pump: MXZ-5C42NAH2
-
Basement air handler (MVZA36AA4) connected to our central ducting for heating/cooling whole house. Less efficient than mini splits in each major room but less surgery (and money) on our old house to do it this way.
Only except is in our finished attic where our centeal ducting does not go. In that area we have a Wall mounted MFZKA12NA
I would like to avoid MQTT as I do not have any devices that use it so prefer ESP direct to the HA Esphome integration.
-
What wemo d1 board can I can that will work with minimum setup? I see v3 boards with usb C are readily avail on Amazon and ship quickly but I’ve read mixed messages on whether this would work out of the box with shorting pins or cutting the board. Latest post I read points to these Wemos D1 Mini being the right one. Is that true?
-
Which harness and connector? I prefer something pre assembled and pre crimped for obvious reasons.
-
I read something earlier where someone had a 3D printed case for their board which seemed super nice. However they mentioned needing to file parts down to make it fit. does anyone have a link to a more turnkey 3d design that fits these boards?
Anyone? Could use some advice on my last post
Hi there. I’ve been using the same Wemos D1 Mini Pro’s for more than five years now, and they have worked fine. In 2020 I redid my setup using ESPHome (see the posts around March 2020), and it has worked fine since. I like the simpler setup using ESPHome (no MQTT). Same boards and pigtails. I don’t know about your specific air handlers, but I would think you’ve got a good shot at it being successful. I haven’t used any 3D printed cases - never saw the need. Hope that helps.
I would use m5stack then you dont have to solder the board. And you only have to make the cable fit.
For the cables: I ordered them at AliExpress:
https://www.aliexpress.com/item/1005005562174022.html?spm=a2g0o.order_list.order_list_main.102.1d5b79d24ciKSm&gatewayAdapt=glo2nld
I just tried it with a M5Stack echo lite. And it works great. I even got an BLE temp sensor connected to it.
Which pin configuration?
Can you link to the specific unit? I’m not familiar with the m5stack and for some reason Google is not helping me find it well. Others mentioned an “m5stack echo lite” but I cannot find it
Also what do you mean you have to make the cable fit. Is there a different cable needed? Which?
You should order the 5 pins configuration for the CN105 connector
I’m thinking of one (perhaps basic) thing: i use xiaomi BLE module as external temperature sensor for my climate. I have homeassistant sensor in my esphome for that purpose: original solution says that i can use this for updating value:
- platform: homeassistant
name: "Temperature Sensor From Home Assistant"
entity_id: sensor.temperature_sensor
on_value:
then:
- lambda: 'id(hp).set_remote_temperature(x);'
But what i’m not sure right now is this:
“on_value” option only sends temperature when value changes, correct? If so, what if temperature doesn’t change for a while? I mean - yaml from echavez has built-in option to go back to internal temperature sensor after a while (30 min.) if ti doesn’t receive anything from external one. How can i “make” sensor to update at least once every 30 minutes to prevent going back to internal sensor?
Why the heck can you only order one max from that seller?!
Until yesterday, I had a perfectly good working version of the code for my MiniSplit. After the 2024.6.1 ESPHome update, I can no longer update this device. I have a total of 6 D1-minis deployed and the other 5 updated perfectly.
Here is my complete code with just redactions where necessary:
substitutions:
name: d1m-srms
friendly_name: SR_MiniSplit
esphome:
name: ${name}
esp8266:
board: d1_mini
# Enable logging
logger:
baud_rate: 0
# Enable Home Assistant API
api:
encryption:
key: !secret api_key1
# Synch time with Home Assistant
time:
- platform: homeassistant
id: homeassistant_time
ota:
platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: ${name} Fallback Hotspot
password: !secret wifi_password
# Optional manual IP
manual_ip:
static_ip: ###.###.#.###
gateway: 192.168.1.1
subnet: 255.255.255.0
web_server:
port: 80
captive_portal:
mqtt:
broker: !secret mqtt_broker
username: !secret mqtt_username
password: !secret mqtt_password
external_components:
- source: github://geoffdavis/esphome-mitsubishiheatpump
# Text sensors with general information.
text_sensor:
# Expose ESPHome version as sensor.
- platform: version
name: ${name} ESPHome Ver
# Expose WiFi information as sensors.
- platform: wifi_info
ip_address:
name: ${name} IP
ssid:
name: ${name} SSID
bssid:
name: ${name} BSSID
# Sensors with general information.
sensor:
# Uptime sensor.
- platform: uptime
name: ${name} Uptime
# WiFi Signal sensor.
- platform: wifi_signal
name: ${name} WiFi Signal
update_interval: 60s
switch:
- platform: restart
name: "D1M-Restart - SRMS"
climate:
- platform: mitsubishi_heatpump
name: "${friendly_name}"
supports:
mode: [HEAT_COOL, COOL, HEAT, FAN_ONLY]
fan_mode: [AUTO, LOW, MEDIUM, HIGH]
swing_mode: ['OFF', VERTICAL, HORIZONTAL]
and lastly the complete error message:
INFO ESPHome 2024.6.1
INFO Reading configuration /config/esphome/d1m-srms.yaml...
INFO Detected timezone 'America/New_York'
INFO Generating C++ source...
Traceback (most recent call last):
File "/usr/local/bin/esphome", line 8, in <module>
sys.exit(main())
^^^^^^
File "/esphome/esphome/__main__.py", line 1079, in main
return run_esphome(sys.argv)
^^^^^^^^^^^^^^^^^^^^^
File "/esphome/esphome/__main__.py", line 1066, in run_esphome
rc = POST_CONFIG_ACTIONS[args.command](args, config)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/esphome/esphome/__main__.py", line 484, in command_run
exit_code = write_cpp(config)
^^^^^^^^^^^^^^^^^
File "/esphome/esphome/__main__.py", line 193, in write_cpp
generate_cpp_contents(config)
File "/esphome/esphome/__main__.py", line 205, in generate_cpp_contents
CORE.flush_tasks()
File "/esphome/esphome/core/__init__.py", line 681, in flush_tasks
self.event_loop.flush_tasks()
File "/esphome/esphome/coroutine.py", line 246, in flush_tasks
next(task.iterator)
File "/esphome/esphome/__main__.py", line 185, in wrapped
await coro(conf)
File "/esphome/esphome/coroutine.py", line 80, in coro
ret = yield from _flatten_generator(gen)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/esphome/esphome/coroutine.py", line 118, in _flatten_generator
val = gen.send(to_send)
^^^^^^^^^^^^^^^^^
File "/data/external_components/3b4567cc/components/mitsubishi_heatpump/climate.py", line 66, in to_code
serial = HARDWARE_UART_TO_SERIAL[config[CONF_HARDWARE_UART]]
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'UART0'
It appears to be an error with the external component, but I have not seen any others post an error yet. Has anyone else experienced this or does someone know what I need to do to fix it.
- Note - The Mini Split still communicates with Home Assistant and I can still control the unit from my dashboard, BUT I’d really like to be able to make updates and stay current, so fixing this is a priority.
Thanks. Hopefully someone has an answer.
Art
There is a GitHub Issue for this problem: esphome 2024.6.0 changed the definition of HARDWARE_UART_TO_SERIAL · Issue #152 · geoffdavis/esphome-mitsubishiheatpump · GitHub
In the comments you can find a patched version for the external component:
github://ghisch/esphome-mitsubishiheatpump@patch-1
For me the patched version did work. I hope it will be merged soon.
Just want to share that I have been reading comments, made sure I ordered the right parts and got it setup on my Mitsubishi AC today
To share the link I got them:
D1 Mini: https://www.aliexpress.com/item/32651747570.html?spm=a2g0o.order_list.order_list_main.101.67781802v3BCvC
Make sure to ignore all the v4, v3, Pro versions. Take only the D1 Mini Type C or micro USB versions.
Connector (5P): https://www.aliexpress.com/item/1005002904897793.html?spm=a2g0o.order_list.order_list_main.95.67781802v3BCvC
Guides that I followed:
- Hacking A Mitsubishi Heat Pump Part 1 - Chris Davis’ Blog
- Hacking A Mitsubishi Heat Pump Part 2 - Chris Davis’ Blog
- Integrating Mitsubishi Air-Con (HVAC) with Home Assistant via NodeMCU running Tasmota – isaiahchia
Used these to flash to the D1 Mini: GitHub - gysmo38/mitsubishi2MQTT: Mitsubishi to MQTT with ESP8266 module + GitHub - SwiCago/HeatPump: Arduino library to control Mitsubishi Heat Pumps via connector cn105
My result (model MSY-GE10VA)