Changelog - Version 1.9.0

It’s time for another release of esphomelib: 1.9.0. This release is quite different from the last one, it doesn’t focus that much on new integrations with a “modest” amount of 7 new integrations. No, most of the development has been focused on improving the core architecture and making the esphomelib ecosystem easier to use. Because that’s my main goal of this project: Providing a great user-experience so that you can focus on building awesome things with DIY hardware!

The features I’m particularly excited about are:

  • esphomeflasher - Experiencing problems flashing esphomelib firmwares using esphomeyaml? No problem, esphomeflasher is a tool designed to make that super easy. Just let esphomeyaml generate the binary and flash from your PC.

  • Over-the-Air Updates have been completely re-written to make them a lot more stable.

  • A lot of work has been put in to provide more context in YAML validation errors. Sometimes, esphomeyaml will even try to give you suggestions for how to fix a validation error!

  • A new release cycle: esphomeyaml now also has a beta release channel kind of like Home Assistant. This helps to iron out the most important bugs before each stable release

  • And of course, lots of stability improvements and bug fixes :)

Thank you very much to everybody who contributed to this release with new code or by reporting bugs!

New Components

New Features

  • Compiling for ESP32s is now possible on RPis 🎉

  • esphomelib now has a new tool: esphomeflasher to simplify flashing on Windows/MacOS machines without having to install esphomeyaml. So if esphomeyaml for some reason can’t find your USB port, you now can use the esphomeflasher app. See esphomeflasher.

  • ESP8266s now save the states of lights/switches/… internally and restores them on boot. Additionally, esphomelib can now operate in fully offline mode if your WiFi network goes down or the MQTT broker is unreachable, see Do Automations Work Without a Network Connection (esphome-core#258 , esphome-core#267 , esphome#229 )

  • The Over-the-Air Update process was quite buggy sometimes and the Arduino-library esphomelib used was doing some weird stuff. The OTA-process has now been completely re-written to be more stable (esphome-core#204 , esphome#177 ).

  • Add support for the Home Assistant device registry. If you’re using Home Assistant 0.81.0 or higher you will see a list of all components for each esphomelib node in the integrations screen (esphome-core#233 ).

  • The current esphomelib version and compilation time are now printed on each boot (esphome-core#189 , esphome#159 ):

    [13:57:33][I][application:092]: You're running esphomelib v1.9.0 compiled on Nov  3 2018, 13:55:11

Breaking Changes

  • As part of the rewrite of Over-The-Air updates, the old OTA protocol is incompatible with the new one - But fear not, esphomeyaml still supports the legacy OTA update process. On your first OTA upload with 1.9.0, you will see esphomeyaml try with the new OTA method and fail. After that, esphomeyaml will fall back to the old OTA process and upload correctly (esphome-core#204 ).

  • esphomelib’s naming convention has been made more consistent. If you’re not using any lambdas, everything will still work. However, if you’re using the C++ API, there are a couple of breaking changes:

    For sensors and binary sensors, id(my_sensor).value has been deprecated and id(my_sensor).state should be used instead. Additionally, the syntax for toggling lights and switches through C++ has been changed. Please see the esphome-docs#62 changeset for more information (esphome-core#231 , esphome-docs#62 , esphome#197 )

Release 1.9.1 - November 19

Release 1.9.2 - November 25

Release 1.9.3 - December 1

All changes

Past Changelogs