This will work for Toshiba Shorai and Seiya
This works great for me, but is at your own risk!
Hit me up on (https://discord.gg/wYYFawvqfr) if there is anything i can help with
Download firmware here: https://github.com/toremick/shorai-esp32/blob/main/firmware/firmware.bin
Install esptool.py on your pc. (https://cyberblogspot.com/how-to-install-esptool-on-windows-10/)
put firmware.bin i c:\
open command prompt and run following from c:\ (edit COM3 to reflect your serial port number)
esptool.py --chip esp32 --port COM3 --baud 460800 write_flash -z 0x1000 firmware.bin
When installed, you need to use thonny (www.thonny.org) or similiar to connect to the esp32.
at the repl run the following commands:
import installation
installation.install_now('YOUR-SSID', 'YOUR-WIFI-PASSWD')
this will install the files needed on your esp32 in /main folder
Refresh the file content
edit config.py to set up your network etc.
U5 is a jumper, close the jumper to be powered from the heatpump. Remove jumper when powered from usb.
R1: 220R
R2: 470R
R3: 10K
R7,R8,R9,R10: 1K
U1,U2: 817A (Optocouplers)
C1: 100uF
U5: When connected with a Jumper, the pcb is powered from the AC (can be soldered)
Files for PCB (and possible to order): https://oshwlab.com/toremick/toshiba-ac-heatpump-mqtt
This can be skipped if you are solder the capacitor on the solder side laying flat. This way it will fit inside the AC unit
Important note: If you have more than one device, please remember to change the name, unique_id and all the mqtt strings to have unique names. For each device replace the heatpump name with the unique 'maintopic' you have configured in the config.py of your ESP32 device.
mqtt:
climate:
- name: HeatPump
icon: mdi:air-conditioner
unique_id: toshibaheatpump
modes:
- "off"
- "auto"
- "cool"
- "heat"
- "dry"
- "fan_only"
swing_modes:
- "on"
- "off"
fan_modes:
- "quiet"
- "lvl_1"
- "lvl_2"
- "lvl_3"
- "lvl_4"
- "lvl_5"
- "auto"
power_command_topic: "heatpump/state/set"
power_state_topic: "heatpump/state/state"
mode_command_topic: "heatpump/mode/set"
mode_state_topic: "heatpump/mode/state"
current_temperature_topic: "heatpump/roomtemp"
temperature_command_topic: "heatpump/setpoint/set"
temperature_state_topic: "heatpump/setpoint/state"
fan_mode_command_topic: "heatpump/fanmode/set"
fan_mode_state_topic: "heatpump/fanmode/state"
swing_mode_command_topic: "heatpump/swingmode/set"
swing_mode_state_topic: "heatpump/swingmode/state"
temp_step: 1
precision: 1
(this will query the heatpump for all values so HA will have current state for everything)
- id: gethpvalues_on_startup
alias: "HP states on HA start-up"
trigger:
platform: homeassistant
event: start
action:
- service: mqtt.publish
data:
topic: heatpump/doinit
payload: startup-ha