Changelog - Version 1.9.0

Beta Releases Text Sensors MQTT Subscribe
Beta Releases Text Sensors MQTT Subscribe
Stepper CSE7766 PMSX003
Stepper CSE7766 PMSX003
esphomeflasher Total Daily Energy MY9231/MY9291 LED driver
esphomeflasher Total Daily Energy MY9231/MY9291 LED driver

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

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 (lib#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 docs#62 changeset for more information (lib#231, docs#62, yaml#197)

Release 1.9.1 - November 19

  • lib: Fix RDM6300 not reporting cards lib#278
  • lib: Fix SNTP with less than 3 servers lib#279
  • lib: Fix update interval log missing time unit lib#280
  • lib: Fix CSE7766 spamming logs lib#281
  • lib: Fix outdated links lib#282
  • yaml: Fix SNTP servers option yaml#237

Release 1.9.2 - November 25

  • lib: Fix crashing when logger not being used lib#285
  • lib: Fix template cover spamming logs lib#287
  • lib: Improve ESP32 BLE tracker stability lib#289
  • lib: Fix sensor filters using C++ undefined behavior lib#293

Release 1.9.3 - December 1

All changes

  • docs: Clarify ESP32 BLE Tracker comment docs#42
  • yaml: Add a link to Home Assistant in README yaml#152 by @jonnyair
  • lib: Add a link to Home Assistant in README.md lib#184 by @jonnyair
  • docs: Fix time docs 12-hour clock strftime format docs#43
  • lib: Fix ESP32 BLE Presence detection always on lib#185
  • lib: Fix LCD display include lib#186
  • lib: Fix template switch spamming output lib#187
  • lib: Fix using HTU21D for SI7021 lib#188
  • lib: Fix components sending invalid state on startup if integration not ready yet lib#195
  • lib: Log esphomelib version and compilation time on boot lib#189 (new-feature)
  • yaml: Log esphomelib version and compilation time on boot yaml#159 (new-feature)
  • yaml: Fix raw remote receiver yaml#158
  • lib: Add Code of Conduct (Contributor Covenant) lib#196
  • lib: Create CONTRIBUTING.md lib#197
  • lib: Create issue templates lib#198
  • lib: Create pull request template lib#199
  • yaml: Create Pull Request Template yaml#172
  • yaml: Create CONTRIBUTING.md yaml#169
  • yaml: Add Code of Conduct (Contributor Covenant) yaml#168
  • yaml: Create issue templates yaml#171
  • docs: Add Code of Conduct (Contributor Covenant) docs#44
  • docs: Create Pull Request Template docs#45
  • yaml: Fix readme broken link yaml#174
  • lib: Fix pulse counter counting inverted on ESP8266 lib#200
  • yaml: Add use_build_flags removal notice yaml#173
  • docs: Highlight update_interval gotchas docs#46
  • docs: Add Disqus and cleanup docs#47 (new-feature)
  • lib: Fix PN532 not logging discovered tags lib#202
  • yaml: Add Samsung IR protocol yaml#176 by @escoand (new-feature)
  • docs: add samsung ir protocol docs#48 by @escoand (new-feature)
  • lib: Bump FastLED to 3.2.0 lib#203
  • yaml: Fix Wifi power_save_mode option yaml#178
  • lib: Fix application sort order lib#211
  • docs: Improve pulse counter docs docs#49
  • lib: Fix ESP32 BLE Controller Init lib#213
  • lib: Fix Web Server Creating Infinite Print Loop lib#214
  • lib: Add TOGGLE payload to more components lib#212 (new-feature)
  • lib: ESP8266 Pulse Counter Improve Timing lib#205
  • lib: Add MQTT Subscribe Sensor lib#193 (new-feature)
  • docs: Add MQTT Subscribe sensor docs#50 (new-feature)
  • yaml: Add MQTT Subscribe sensor yaml#175 (new-feature)
  • yaml: MQTT different log level yaml#167 (new-feature)
  • docs: Add option to have different log level over MQTT docs#51 (new-feature)
  • yaml: Add clean build files command and auto-clean on version change yaml#181 (new-feature)
  • lib: Add power on value to switch lib#207 (new-feature)
  • lib: Rework OTA to be more stable lib#204 (breaking-change) (new-feature)
  • yaml: Rework OTA to be more stable yaml#177 (new-feature)
  • lib: Fix WiFi not working when GPIO 0 connected lib#215
  • lib: Fix MiFlora illuminance reading lib#220
  • lib: Remove invalid file headers lib#219
  • yaml: Fix config dump time output yaml#184
  • lib: GPIO Switch Rewrite lib#217
  • docs: Add power on value to GPIO Switch docs#55 (new-feature)
  • yaml: Decentralize Automation Generator Code yaml#182
  • lib: Add PN532 On Tag Trigger lib#226 (new-feature)
  • lib: Add text sensors lib#194 (new-feature)
  • docs: Add Text sensors docs#52 (new-feature)
  • lib: Fix PCF8574 assert. lib#223 by @lobradov
  • lib: Unify Xiaomi MiJia&MiFlora Implementations lib#225
  • docs: Unify xiaomi implementations docs#56
  • yaml: Unify Xiaomi implementations yaml#188
  • lib: Add CSE7766 for Sonoff Pow R2 lib#227 (new-feature)
  • docs: Add CSE7766 for Sonoff Pow R2 docs#59 (new-feature)
  • docs: Add PN532 On Tag Trigger docs#57 (new-feature)
  • yaml: Add CSE776 for Sonoff Pow R2 yaml#190 (new-feature)
  • yaml: Add Text Sensors yaml#166 (new-feature)
  • yaml: Add PN532 On Tag Trigger yaml#189 (new-feature)
  • lib: Add MQTT publish JSON action and subscribe JSON trigger lib#230 (new-feature)
  • yaml: Add MQTT publish JSON action and subscribe JSON trigger yaml#193 (new-feature)
  • docs: Add MQTT publish JSON action and subscribe JSON trigger docs#60 (new-feature)
  • lib: Add PMSX003 Particulate Matter Sensor lib#229 (new-feature)
  • docs: Add PMSX003 Particulate Matter Sensor docs#58 (new-feature)
  • lib: Add update component action and scripts lib#232 (new-feature)
  • docs: Add update component action and scripts docs#61 (new-feature)
  • lib: Implement HASS device registry for MQTT components lib#233 (new-feature)
  • lib: Add FastLED color correction option lib#234 (new-feature)
  • docs: Add FastLED color correction option docs#64 (new-feature)
  • yaml: Add update component action and scripts yaml#196 (new-feature)
  • yaml: Add PMSX003 Particulate Matter Sensor yaml#192 (new-feature)
  • yaml: Add FastLED color correction option yaml#200 (new-feature)
  • yaml: Fix triggers being interpreted as a sequence of automations yaml#199
  • yaml: Fix value range trigger :expressionless: yaml#201
  • lib: Make naming convention consistent lib#231 (breaking-change)
  • docs: Make naming convention consistent docs#62 (breaking-change)
  • docs: Fix some typos docs#65
  • yaml: Improve API naming convention consistency yaml#197 (breaking-change)
  • yaml: Fix some typos yaml#202
  • docs: Add logger.log action docs#63 (new-feature)
  • yaml: Add logger.log action yaml#198 (new-feature)
  • docs: Fix template sensor docs docs#66
  • docs: Fix text sensor outdated API docs docs#70
  • docs: Add Stepper Support docs#68 (new-feature)
  • lib: Add stepper motor support lib#239 (new-feature)
  • lib: Add send_first_at option to sliding window sensor filter lib#240 (new-feature)
  • docs: Add send_first_at option to sliding window sensor filter docs#69 (new-feature)
  • lib: Fix display line drawing algorithm lib#241
  • lib: Fix availability calculation lib#242
  • yaml: Add Stepper Motor Support yaml#206 (new-feature)
  • yaml: Add send_first_at option to sliding window sensor filter yaml#207 (new-feature)
  • docs: Switch example to Dehumidifier, minor grammar/puncuation docs#67 by @rorpage
  • docs: Tiny typo fix. docs#73 by @corbanmailloux
  • yaml: Auto-Decode stacktraces yaml#214 (new-feature)
  • docs: Fix a broken link to setting up a BLE tracker. docs#72 by @corbanmailloux
  • yaml: Add generate home assistant config command yaml#208 (new-feature)
  • yaml: Update Gitlab Build Script yaml#215
  • lib: Fix status binary sensor always reporting false internally lib#257
  • yaml: Fix HLW8012 Voltage Divider option not being added to source yaml#224
  • lib: Fix HLW8012 Initial Value Reporting lib#254
  • lib: Clean up Time API lib#253
  • yaml: Better typing to components yaml#225
  • lib: Support uploading OTA updates over web server lib#255 (new-feature)
  • lib: Save and Restore states from RTC memory lib#258 (new-feature)
  • docs: Revert add power_on_value to gpio switch docs#78
  • lib: Improve default log levels and log sources lib#264
  • lib: OTA Read back server acknowledgement lib#263
  • lib: Add Multi Click Trigger to binary sensor lib#262 (new-feature)
  • docs: Add binary sensor on multi click trigger docs#77 (new-feature)
  • lib: ESP32 BLE Release Bluetooth Classic Memory lib#261
  • yaml: Add restore state option to template switch yaml#222
  • docs: Advertise esphomeflasher docs#76 (new-feature)
  • docs: Replace table generator with custom RST directive docs#75
  • yaml: Clean up time API yaml#221
  • yaml: Revert Add power on value to GPIO switch yaml#223
  • yaml: Add binary sensor multi click trigger yaml#226 (new-feature)
  • lib: Add Total Daily Energy Sensor lib#256 (new-feature)
  • yaml: Add total daily energy sensor yaml#220 (new-feature)
  • docs: Add total daily energy sensor docs#79
  • lib: Introduce new setup phase: “dump config” to allow fully-offline operation lib#267
  • yaml: Let esphomeyaml know about class inheritance yaml#229
  • docs: ESP32 deep sleep wake up multiple pins docs#81
  • yaml: Deep Sleep Wake Up From Multiple Pins yaml#230
  • lib: Deep Sleep Multi Wakeup lib#268
  • lib: MY9231/MY9291 LED driver support lib#266 by @puuu (new-feature)
  • yaml: Add MY9231 support yaml#227 by @puuu (new-feature)
  • docs: MY9231/MY9291 LED driver documentation docs#80 by @puuu (new-feature)
  • docs: SEO Optimization docs#82

Past Changelogs