Changelog - Version 1.13.0 - May 30th 2019

Climate Devices Endstop Cover Time-Based Cover Bang Bang Controller
Climate Devices Endstop Cover Time-Based Cover Bang Bang Controller
AM2320 CCS811 Integration Pulse Width
AM2320 CCS811 Integration Pulse Width
Resistance Sensor NTC Thermistor CT Clamp Binary Sensor Map
Resistance Sensor NTC Thermistor CT Clamp Binary Sensor Map
TTP229 Coolix IR Remote Tcl112 IR Remote Sun
TTP229 Coolix IR Remote Tcl112 IR Remote Sun
GPS Time Source Custom Light Custom Cover Custom Climate
GPS Time Source Custom Light Custom Cover Custom Climate

Oh hi there!

It’s been a while since the last release (once again 😅). But I hope you’ll be excited to hear what’s new in this latest release of ESPHome: 1.13.0!

First of all, as you can see in the table above, a ton of new components have been added. Some to highlight are:

  • Cover Updates: Covers now support setting arbitrary position (and the new time-based and endstop covers make full use of it).
  • Climate Support: ESPHome now has a full climate abstraction - with the “bang bang” climate device you can automate thermostats directly on the ESP.
  • Sun, GPS etc - This release brings a lot of helper components too of course.

But… the biggest change in this version has yet to be mentioned here: A complete refactor of the ESPHome codebase. Remember the project rename in 1.11? It’s nothing compared to the latest and greatest code refactor. ESPHome has gotten a completely new directory structure, and the codebase has been simplified a lot.

What does this mean for you?

Well, you’ll be happy to hear that this refactor improves compile times by around 2x. Additionally, these changes will make contributing a lot easier, because now the code is much more modular.

But it doesn’t stop there!

This release also brings another awesome new feature: Live validation! If you use the editor in the ESPHome dashboard, your configuration will be validated on-the-fly and any validation errors are shown directly in the editor in less than half a second!


I also want to give special shout outs to these awesome people who have contributed a lot of features in this version:

  • @gitolicious for his awesome work on improving the dashboard!
  • @mvturnho for the new TTP219 and binary sensor map additions!
  • @glmnet for adding the TCL112 and Coolix climate platforms, as well @puuu for pushing ahead with the climate component!
  • Everyone who has been supporting me financially over Patreon!
  • Everybody who reported bugs, contributed documentation and fixed things!

If you like this version, please consider starring the ESPHome repository on Github 💫!

Other notable changes:

  • Ingress - ESPHome now supports showing the dashboard directly in the Home Assistant frontend via the Ingress feature.
  • The i2c variant of the ttp229 device is now also supported.
  • Covers now support position & tilt - you can use these with the new endstop and time-based cover platforms.
  • ESPHome has received support for climate devices, you can now let your ESP control heaters/coolers directly on the ESP. Great for building a DIY thermostat or making an existing one IoT-enabled.
  • Lights now have some new actions: light.dim_relative and light.addressable_set. Addressable lights now also support a new range syntax (.range() and .all()) functions to allow easier effect creation.
  • Added a new custom component mechanism and contribution guidelines have been updated. See the contributing guide for more details.
  • RDM6300 now also has a on_tag trigger like the PN532.
  • Remote Transmitter and Remote Receiver have gotten some new features: custom triggers and actions with templatable values.
  • Added output.esp8266_pwm.set_frequency action for dynamically changing the frequency of the ESP8266 PWM output (for example for active buzzers).
  • Added servo.detach action to disable a servo - this prevents it from moving around once it’s in position.
  • Added stepper.set_speed to dynamically change a stepper’s speed at runtime.
  • Added text_sensor.state condition for checking a text sensor’s state against a fixed value.
  • Added globals.set action, script.is_running condition, for condition.
  • Custom components can now access ESPHome’s global variables.
  • Added restore_mode for lights and light.is_on/off.

Breaking Changes

All of these are also documented in validation - just view the validation output and it should tell you what has changed.

  • The esp32_ble_tracker binary sensor platform (not the global hub) has been renamed to ble_presence.
  • The remote transmitter switch has been removed and a template switch with the new actions should be used. See validation output.
  • esphome_core_version has been removed - ESPHome is no longer split up in the core and python repository.
  • Because of some internal changes, some ID names are used internally and can no longer be used. See validation errors.

Release 1.13.1 - May 30

Release 1.13.2 - May 31

Release 1.13.3 - June 1

Release 1.13.4 - June 3

Release 1.13.5 - June 8

Release 1.13.6 - June 14

All changes