Changelog - Version 1.9.0
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

There’s a new base component called text sensors for using text-based inputs, not just numbers like the generic sensors did (esphome#166, esphome-docs#52)
The new MQTT Subscribe Sensors allow you to get external data into esphomelib’s ecosystem via MQTT (esphome-core#193, esphome#175, esphome-docs#50)
Added CSE7766 Power Sensor to support power measurements on the Sonoff Pow R2 (esphome-core#277, esphome#190, esphome-docs#59)
Thanks to @puuu, the LED driver in the Sonoff B1 (MY9231) is now supported! (esphome-core#266, esphome#227, esphome-docs#80)
Added the PMSX003 Particulate Matter Sensor (esphome-core#229, esphome#192, esphome-docs#58)
Added support for A4988 Stepper Motors (esphome-core#239, esphome#206, esphome-docs#68)
Added total daily energy sensor to accumulate the total power usage over one day (esphome-core#256, esphome#220)
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
Stack traces in the USB logs are now automatically decoded to make debugging easier (esphome#214)
Added
on_json_message
Trigger andmqtt.publish_json
Action to make using JSON for MQTT payloads easier (esphome-core#230, esphome#193, esphome-docs#60)The remote (IR) components have received support for Samsung’s IR protocol (esphome#176, esphome-docs#48)
Added
component.update
Action,logger.log
Action andscript.execute
Action for simplifying automations (esphome-core#232, esphome#196, esphome#198, esphome-docs#61, esphome-docs#63)Added
on_multi_click
trigger to distinguish between double, long, and single clicks. (esphome-core#262, esphome-docs#77, esphome#226)Added an pn532-on_tag to PN532 NFC Readers so that automations can directly use the NFC tag ID (esphome-core#194, esphome#189, esphome-docs#57)
Added a
hass-config
command which generates a Home Assistant configuration for your esphomeyaml nodes. Useful if you’re not using MQTT discovery (esphome#208)All documentation pages now have comment systems powered by disqus
(esphome-docs#47)
You now have to option to have a different log level for log messages sent over MQTT (docs, esphome#167, esphome-docs#51)
Added a color correction option to FastLED addressable lights (esphome-core#234, esphome#200, esphome-docs#64)
Added a
clean
command to esphomeyaml to fix some occasional build errors (esphome#181)Added a
send_first_at
option to sliding window moving average sensor filters (esphome-core#240, esphome#207, esphome-docs#69)You can now upload OTA firmware files with the web server component
Added the ability to define global variables in esphomeyaml: Global Variables.
Added a
frequency
option to the ESP8266 Software PWM Output.
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 andid(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

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

- lib: Fix crashing when logger not being used esphome-core#285
- lib: Fix template cover spamming logs esphome-core#287
- lib: Improve ESP32 BLE tracker stability esphome-core#289
- lib: Fix sensor filters using C++ undefined behavior esphome-core#293
Release 1.9.3 - December 1

- docs: Fix Sonoff Basic pinouts esphome-docs#88 by @sherbang
- docs: Update cwww.rst esphome-docs#85 by @Melkor82
- lib: Fix PMSX003 esphome-core#300
- lib: Fix issue with filters introduced in 1.9.2 esphome-core#296
- lib: Fix BMP085 pressure value esphome-core#292
- yaml: CSE7766 update interval esphome#250
- docs: CSE7766 Update Interval esphome-docs#91
All changes

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