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¶
There’s a new base component called text sensors for using text-based inputs, not just numbers like the generic sensors did (esphome#166, docs#52)
The new MQTT Subscribe Sensors allow you to get external data into esphomelib’s ecosystem via MQTT (core#193, esphome#175, docs#50)
Added CSE7766 Power Sensor to support power measurements on the Sonoff Pow R2 (core#277, esphome#190, docs#59)
Thanks to @puuu, the LED driver in the Sonoff B1 (MY9231) is now supported! (core#266, esphome#227, docs#80)
Added the PMSX003 Particulate Matter Sensor (core#229, esphome#192, docs#58)
Added support for A4988 Stepper Motors (core#239, esphome#206, docs#68)
Added total daily energy sensor to accumulate the total power usage over one day (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 (core#258, 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 (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 (core#233).
The current esphomelib version and compilation time are now printed on each boot (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 and mqtt.publish_json Action to make using JSON for MQTT payloads easier (core#230, esphome#193, docs#60)
The remote (IR) components have received support for Samsung’s IR protocol (esphome#176, docs#48)
Added component.update Action, logger.log Action and script.execute Action for simplifying automations (core#232, esphome#196, esphome#198, docs#61, docs#63)
Added on_multi_click trigger to distinguish between double, long, and single clicks. (core#262, docs#77, esphome#226)
Added an Over I²C to PN532 NFC Readers so that automations can directly use the NFC tag ID (core#194, esphome#189, 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 (docs#47)
You now have to option to have a different log level for log messages sent over MQTT (docs, esphome#167, docs#51)
Added a color correction option to FastLED addressable lights (core#234, esphome#200, 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 (core#240, esphome#207, 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 (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 docs#62 changeset for more information (core#231, docs#62, esphome#197)
Release 1.9.1 - November 19¶
Release 1.9.2 - November 25¶
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 esphome#152 by @jonnyair
lib: Add a link to Home Assistant in README.md core#184 by @jonnyair
docs: Fix time docs 12-hour clock strftime format docs#43
lib: Fix ESP32 BLE Presence detection always on core#185
lib: Fix LCD display include core#186
lib: Fix template switch spamming output core#187
lib: Fix using HTU21D for SI7021 core#188
lib: Fix components sending invalid state on startup if integration not ready yet core#195
lib: Log esphomelib version and compilation time on boot 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) core#196
lib: Create CONTRIBUTING.md core#197
lib: Create issue templates core#198
lib: Create pull request template 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) docs#44
docs: Create Pull Request Template docs#45
yaml: Fix readme broken link esphome#174
lib: Fix pulse counter counting inverted on ESP8266 core#200
yaml: Add use_build_flags removal notice esphome#173
docs: Highlight update_interval gotchas docs#46
docs: Add Disqus and cleanup docs#47 (new-feature)
lib: Fix PN532 not logging discovered tags core#202
yaml: Add Samsung IR protocol esphome#176 by @escoand (new-feature)
docs: add samsung ir protocol docs#48 by @escoand (new-feature)
lib: Bump FastLED to 3.2.0 core#203
yaml: Fix Wifi power_save_mode option esphome#178
lib: Fix application sort order core#211
docs: Improve pulse counter docs docs#49
lib: Fix ESP32 BLE Controller Init core#213
lib: Fix Web Server Creating Infinite Print Loop core#214
lib: Add TOGGLE payload to more components core#212 (new-feature)
lib: ESP8266 Pulse Counter Improve Timing core#205
lib: Add MQTT Subscribe Sensor core#193 (new-feature)
docs: Add MQTT Subscribe sensor 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 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 core#207 (new-feature)
lib: Rework OTA to be more stable 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 core#215
lib: Fix MiFlora illuminance reading core#220
lib: Remove invalid file headers core#219
yaml: Fix config dump time output esphome#184
lib: GPIO Switch Rewrite core#217
docs: Add power on value to GPIO Switch docs#55 (new-feature)
yaml: Decentralize Automation Generator Code esphome#182
lib: Add PN532 On Tag Trigger core#226 (new-feature)
lib: Add text sensors core#194 (new-feature)
docs: Add Text sensors docs#52 (new-feature)
lib: Unify Xiaomi MiJia&MiFlora Implementations core#225
docs: Unify xiaomi implementations docs#56
yaml: Unify Xiaomi implementations esphome#188
lib: Add CSE7766 for Sonoff Pow R2 core#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 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 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 docs#60 (new-feature)
lib: Add PMSX003 Particulate Matter Sensor core#229 (new-feature)
docs: Add PMSX003 Particulate Matter Sensor docs#58 (new-feature)
lib: Add update component action and scripts core#232 (new-feature)
docs: Add update component action and scripts docs#61 (new-feature)
lib: Implement HASS device registry for MQTT components core#233 (new-feature)
lib: Add FastLED color correction option core#234 (new-feature)
docs: Add FastLED color correction option 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 core#231 (breaking-change)
docs: Make naming convention consistent docs#62 (breaking-change)
docs: Fix some typos docs#65
yaml: Improve API naming convention consistency esphome#197 (breaking-change)
yaml: Fix some typos esphome#202
docs: Add logger.log action docs#63 (new-feature)
yaml: Add logger.log action esphome#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 core#239 (new-feature)
lib: Add send_first_at option to sliding window sensor filter core#240 (new-feature)
docs: Add send_first_at option to sliding window sensor filter docs#69 (new-feature)
lib: Fix display line drawing algorithm core#241
lib: Fix availability calculation 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 docs#67 by @rorpage
docs: Tiny typo fix. docs#73 by @corbanmailloux
yaml: Auto-Decode stacktraces esphome#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 esphome#208 (new-feature)
yaml: Update Gitlab Build Script esphome#215
lib: Fix status binary sensor always reporting false internally core#257
yaml: Fix HLW8012 Voltage Divider option not being added to source esphome#224
lib: Fix HLW8012 Initial Value Reporting core#254
lib: Clean up Time API core#253
yaml: Better typing to components esphome#225
lib: Support uploading OTA updates over web server core#255 (new-feature)
lib: Save and Restore states from RTC memory core#258 (new-feature)
docs: Revert add power_on_value to gpio switch docs#78
lib: Improve default log levels and log sources core#264
lib: OTA Read back server acknowledgement core#263
lib: Add Multi Click Trigger to binary sensor core#262 (new-feature)
docs: Add binary sensor on multi click trigger docs#77 (new-feature)
lib: ESP32 BLE Release Bluetooth Classic Memory core#261
yaml: Add restore state option to template switch esphome#222
docs: Advertise esphomeflasher docs#76 (new-feature)
docs: Replace table generator with custom RST directive 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 core#256 (new-feature)
yaml: Add total daily energy sensor esphome#220 (new-feature)
docs: Add total daily energy sensor docs#79
lib: Introduce new setup phase: “dump config” to allow fully-offline operation core#267
yaml: Let esphomeyaml know about class inheritance esphome#229
docs: ESP32 deep sleep wake up multiple pins docs#81
yaml: Deep Sleep Wake Up From Multiple Pins esphome#230
lib: Deep Sleep Multi Wakeup core#268
lib: MY9231/MY9291 LED driver support core#266 by @puuu (new-feature)
yaml: Add MY9231 support esphome#227 by @puuu (new-feature)
docs: MY9231/MY9291 LED driver documentation docs#80 by @puuu (new-feature)
docs: SEO Optimization docs#82