Giter Site home page Giter Site logo

stoffelll / esphome_toshiba_suzumi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ondoteam/esphome_toshiba_suzumi

0.0 0.0 0.0 1.1 MB

ESPHome custom component for Toshiba Suzumi

License: GNU General Public License v3.0

C++ 91.63% Python 8.37%

esphome_toshiba_suzumi's Introduction

ESPHome component for Toshiba AC

Should be compatible with models Toshiba Suzumi/Shorai/Seiya and other models using the same protocol.

Toshiba air conditioner has an option for connecting remote module purchased separately. This project aims to replace this module with more affordable and universal ESP module and to allow integration to home automation systems like HomeAssistent.

This component use ESPHome UART to connect with Toshiba AC and communicates directly with Home Assistant.

Hardware

  • tested with ESP32 (WROOM 32D)
  • tested with ESP8266 (Lolin D1 mini)
  • connection adapter can be used the same as with this solution (https://github.com/toremick/shorai-esp32).
  • Alternatively, you can use only a level shifter between 5V (AC unit) and 3.3V (ESP32) (search Aliexpress for "level shifter"). That's what I use and it works fine.

ESP32 (WROOM 32D)

schema adapter

ESP 8266EX (Lolin D1 mini)

d1_mini

Pinout

AC unit has a wifi connector on extension cable, usually with pink and blue colors (see the schema above).

pin number color ESP32 pin ESP8266 pin
1 blue 33 (TX) 13 (TX)
2 purple GND GND
3 black +5V (Vin) +5V (Vin)
4 white 32 (RX) 15 (RX)
5 purple unused unused

Installation

  1. install Home Assistant and ESPHome Addon

  2. add new ESP32 device to ESPHome Dashboard. This will flash the device and create a basic configuration of the node.

    ESPHome entity

  3. edit code configuration and setup UART and Climate modules. See example.yaml for configuration details.

...
external_components:
  - source: 
      type: git
      url: https://github.com/pedobry/esphome_toshiba_suzumi
    components: [toshiba_suzumi]

uart:
  id: uart_bus
  tx_pin: 33
  rx_pin: 32
  parity: EVEN
  baud_rate: 9600

climate:
  - platform: toshiba_suzumi
    name: living-room
    id: living_room      # Optional. Used by the scan button (read below)
    uart_id: uart_bus
    outdoor_temp:        # Optional. Outdoor temperature sensor
      name: Outdoor Temp
    power_select:
      name: "Power level"
...

The component can be installed locally by downloading to components directory or directly from Github.

When configured correctly, new ESPHome device will appear in Home Assistant integrations and you'll be asked to provide encryption key (it's in the node configuration from step 2.). All entities then populate automatically.

HomeAssistant ESPHome entity

You can then create a Thermostat card on the dashboard.

HomeAssistant card

Filter some oustide temp value

It has been reported that some AC units send temp value 127 when the unit does not know the temp or using only Fan mode without external unit running. This mess up graphs in HomeAssistant.

You can filter unwanted values by adding a filter to Outside temp sensor:

    outdoor_temp:
      name: Outdoor Temp
      filters:
        - filter_out: 127 

Scan for unknown sensors

The code here was developed on certain Toshiba AC unit which provides only certain set of features. Newer or different units might offer more features (ie. reporting of power usage, horizontal swing etc.). While these are not implemented, you can add a button which scans for all sensors and prints the answers from AC unit. This might help developers to identify these new features.

You can enable this by adding a new button:

button:
  - platform: template
    name: "Scan for unknown sensors"
    icon: "mdi:reload"
    on_press:
      then:
        - lambda: |-
            auto* controller = static_cast<toshiba_suzumi::ToshibaClimateUart*>(id(living_room));
            controller->scan();

and then watching ESPHome logs for data:

ESPHome log

ESPHome older than 2023.3.0

There is a change in internal implementation of climate control in 2023.3.0 - the fan mode Quiet is implemented as regular fan mode. As a result, the implementation of Quiet mode as custom fan mode won't work anymore.

It was fixed in current code, but users with ESPHome older than 2023.3.0 needs to use older tag:

  • users with ESPHome 2023.3.0 or newer should use branch master

    url: https://github.com/pedobry/esphome_toshiba_suzumi

  • users with ESPHome 2023.2.x and older should use this url:

    url: https://github.com/pedobry/[email protected]

Links

https://www.espressif.com/en/products/devkits/esp32-devkitc/

https://github.com/toremick/shorai-esp32

https://github.com/Vpowgh/TConnect

Discord channel: https://discord.gg/wYYFawvqfr

esphome_toshiba_suzumi's People

Contributors

curserio avatar pedobry avatar ondoteam avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.