/shorai-esp32

esp32 connected to shorai heat pump

Primary LanguagePython

Buy Me A Coffee

shorai-esp32

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

Software install

PCB Schematic

PCB Schematic

PCB Layout

PCB layout 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

Parts list

Extra part list for creating a extension cable

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

PCB solder PCB cover

Home assistant Climate config part

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
    

Add following to automations.yaml or where you have your automations

(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