Changelog - Version 1.11.0

Completed Rename Home Assistant Binary Sensor Light Partition
Completed Rename Home Assistant Binary Sensor Light Partition

Release 1.11.0 is here, and it has been a busy few weeks :)

First of all, thank you all for the amazing support on discord, twitter, twitch, etc. Seeing how much people can accomplish with this tool is really inspiring!

ESPHome Rename Completed

Back in 1.10.0, it was decided to rename the project from esphomelib to ESPHome. This release has seen massive refactors to allow this rename. Literally thousands of files had to be changed, often with lots of manual action required. Now a rename might not seem too exciting for you the user, but consider this: Lots of ancient code got revised and cleaned up, the ESPHome source got moved to a dedicated Github Organization and many other organizational changes were made which will enable faster feature development.

As an example, ESPHome’s documentation now gets built and served by Netlify, so all documentation contributions will now get a preview of the changes on a preview website.

Installation Methods Changed

Because of this rename, ESPHome’s installation methods have also changed (breaking change!).

  • Hass.io: The Hass.io addon repository has moved to https://github.com/esphome/hassio, please remove the old addon repository and add the new repository.
  • pip-based installs: The new installation command is pip install esphome and the esphomeyaml command now is called esphome.
  • docker-based installs: The docker image has moved to esphome/esphome. So now you need to use docker run --rm -it esphome/esphome livingroom.yaml run. The dashboard view now uses mDNS to show online/offline status of ESPs, so you need to add --net=host for that to work.

All old installation methods will no longer receive updates (and potentially be removed in the future).

Local mDNS Responder

Up until now, many users had to set static IPs for all ESP nodes in order to be able to connect to them. That was not a good user experience and this project is committed to providing the best possible user experience. So now ESPHome bundles its own mDNS responder so static IPs are no longer necessary (ref: esphome#386)! 🎉

Faster Release Cycle

One of the big things that needs to be changed with this project is the release cycle. For one thing there’s all contributions by you the users that potentially have to wait before users can use it. But it also makes releasing small tweaks or fixes much more difficult.

I know I’ve said this before, but I want to move ESPHome to a quicker and more regular release interval. As a start, I’ve set my personal due date for the next release to be in two weeks. Going forward, I want to have a regular release interval of 3 weeks (remind me of this if I forget :)

Also, you might have seen me post a picture of an ESP32 camera integration for ESPHome. Don’t worry, I’ve made that a top priority for the next release, but I’ve hit some road blocks that would have prevented it from working in a stable way for this release (and I needed to finally get this darn release out).

Release 1.11.2 - February 26

  • docs: Fix units on the valid frequency values docs#170 by @kwdavidson
  • esphome: Allow non-pullup pins for dallas esphome#456
  • core: Turn off light at 0% brightness core#526
  • core: HLW8012 don’t count a single pulse as power core#527
  • core: Set initial brightness to 0 when turning light on core#528
  • core: Allow white value of addressable lights to be controlled independently of brightness core#529
  • core: Fix WiFi not connecting to open networks core#531
  • esphome: Remove automatic update check esphome#457
  • esphome: Fix mDNS library added only with OTA esphome#451
  • docs: Merge dallas component docs#179 by @FrengerH
  • docs: Correct ultrasonic filter_nan example docs#159 by @apeeters
  • docs: Cookbook entry for Display component docs#173 by @ahd71
  • core: Fix light partition src offset core#525

Release 1.11.1 - February 23

  • core: Fix addressable not updating light core#521
  • docs: Add Ethernet pin config for olimex esp32-poe board docs#166 by @setola
  • docs: FAQ: Add description for mDNS support on different subnets docs#169 by @Taigar2015

Breaking Changes

  • Template Switches no longer restore their state by default core#503
  • Removed heartbeat filter from binary sensors core#454
  • optimistic mode for template platforms has been split off into optimistic and assumed_state options core#455
  • run_cycles has been removed from deep_sleep esphome#353

Other notable changes:

  • Added GPIO Switch interlocking core#482
  • Added light partition platform which allows you to split an addressable light into partitions and combine them core#501
  • Added wait_until action core#508
  • Added template publish actions, which allow you to manually push a state to a template platform core#453
  • Added support for SI7021 sensors (found in Sonoff TH modules) esphome#375
  • MQTT is no longer compiled into firmwares that do no use it, should save a bit of space core#430, core#409
  • Added use_address option to wifi: which overrides the address ESPHome connects to core#484
  • Added display pages, which allow you to have a display that periodically switches between different pages of content core#507
  • Added two new IR codecs: IR5 and JVC core#502, core#493
  • Added option to use alternative hardware UART interfaces for logging core#483
  • All log strings are stored in flash now, so that saves a few kb of IRAM on ESP8266s core#432
  • Fixed ESP8266s with CSE7766 rebooting often
  • Fixed using MQTT and native API at the same time
  • Personal information is now automatically redacted from dashboard logs core#488

Beta Fixes

  • esphome: Fix custom components not registered esphome#441
  • core: Add empty nameable constructors core#509
  • core: Fix Nextion “Received unknown filler end bytes” core#510
  • core: Fix functional attachInterrupt placed in flash core#511
  • esphome: Remove duplicate scrollbar & move scrollbar esphome#443 by @TheZoker
  • esphome: Remove unnecessary wrapper esphome#444 by @TheZoker
  • core: Refactor addressable light and fix partition issue core#512
  • esphome: Fix MQTT log topic level esphome#445
  • core: Fix ESP8266 functional interrupts core#515
  • esphome: Allow i2c on non-pullup pins esphome#447
  • esphome: Allow use of arduino core v2.5.0 on ESP8266 esphome#446

All changes

  • core: Attempt to fix the addressable flicker effect core#392 by @RomRider
  • esphome: typing is only required for python < 3.5 esphome#341 by @dotlambda
  • esphome: Fix install pillow in docker image esphome#338
  • esphome: Allow IPv4 addresses for SNTP servers esphome#340
  • docs: Fix esp8266_pwm example, IDs cannot have hyphens docs#123 by @rabbadab
  • esphome: Add pyserial to install_requires esphome#348 by @dotlambda
  • docs: Added explanation how to change the password docs#124 by @WoLpH
  • docs: Update light lambda effect example docs#125 by @jdads1
  • core: Improve handling of MQTT birth message core#410
  • core: Fix WiFi apply hostname too early core#399
  • core: Fix pulse counter filtering for ESP8266 core#397
  • esphome: Warn if expire_after used without MQTT esphome#354
  • esphome: Use strict string mode for WiFi password esphome#351
  • docs: Add ESP8266 advanced info docs#128
  • docs: Cookbook Entry for Sonoff Basic Fish Pond Pump docs#122 by @meijerwynand
  • docs: Add Arilux LC02 pinout docs#130 by @pixiandreas
  • docs: Dallas: Update for default update_interval docs#131 by @balk77
  • core: Fix Light Color Temperature for native API core#398
  • core: Throttle filter doesn’t work for quick firing sensors core#408 by @AlexDanault
  • core: Improve Preferences Log Output core#414
  • core: Fix GPIO switch restoring inverted core#415
  • core: Default expire after to 0 with deep sleep core#417
  • core: Improve DHT error message core#424
  • esphome: Fix Non-ASCII characters being escaped if in wrong locale esphome#369
  • esphome: Upgrade HassIO Ubuntu Base to 2.2.1 esphome#368
  • esphome: Fix ESP32 BLE tracker scan interval in seconds esphome#367
  • esphome: ESP8266 Better Exception Code Names esphome#358
  • esphome: Remove DNS1,DNS2 inclusive esphome#357
  • esphome: Remove deep sleep run_cycles esphome#353
  • esphome: Fix custom output requiring type esphome#344
  • core: Don’t duplicate binary sensor events core#411
  • esphome: Add ability to run commands using subprocess, instead of in-process esphome#359 by @dotlambda
  • core: Fix on_press / on_release being triggered on initial state core#425
  • core: Remove hard dependencies in library.json core#409
  • esphome: Upgrade espressif32 package to 1.6.0 esphome#355
  • esphome: Fix dashboard password with python 3 esphome#339
  • esphome: Fix nginx closing WebSocket connection after 60 seconds esphome#370
  • esphome: Disable platformio LDF esphome#352
  • core: Store log strings in flash for ESP8266 core#432
  • core: Adding DHT model SI7021 to DHT sensor core#433 by @grea09
  • esphome: Adding SI7021 sensor to config validation esphome#375 by @grea09
  • core: Add logging to NeoPixelBus core#438 by @badbadc0ffee
  • esphome: Includes should be relative to the src directory, not main.cpp file esphome#390 by @yawor
  • esphome: Generate variable for each custom component id esphome#382 by @yawor
  • esphome: Fix Custom Components No Name esphome#395
  • core: Split off assumed state from optimistic mode core#455
  • esphome: Remove Heartbeat Binary Sensor Filter esphome#393
  • core: Disable MQTT if not used core#430
  • esphome: Disable MQTT if not used esphome#373
  • core: Store raw remote codes in flash core#456
  • core: Deduplicate values before sending core#454
  • core: Rewrite native API client for increased reliability core#426
  • docs: Fix Typo in BME280 Environment Cookbook docs#145 by @hajdbo
  • docs: Updating Repo URLs in Contribution Guide docs#143 by @badbadc0ffee
  • core: Update sony.cpp to fix incorrectly formed Sony IR code (extra bit) core#458 by @chris-jennings
  • docs: Extra example in cookbook / flashing DOIT ESP32 docs#138 by @DavidDeSloovere
  • docs: Adding the SI7021 to docs docs#147 by @grea09
  • esphome: Validate neopixelbus method esphome#398
  • core: Fix PMSx003 payload length calculation core#471 by @hajdbo
  • docs: Netlify docs#153
  • docs: Remove duplicate “includes” line docs#154 by @notgwj
  • core: Remove ‘flash’ property from MQTT Light discovery JSON. core#478 by @brandond
  • docs: Improve docker build instructions docs#155 by @DavidDeSloovere
  • core: Add Homeassistant Binary Sensor core#480 (cherry-picked)
  • core: GPIO Switch Interlocking core#482 (cherry-picked)
  • esphome: Print error when mqtt.publish used without MQTT enabled esphome#408 (cherry-picked)
  • esphome: Add Homeassistant Binary Sensor esphome#409 (cherry-picked)
  • esphome: Allow pins 9&10 for PWM esphome#410 (cherry-picked)
  • docs: Homeassistant binary sensor docs#156
  • esphome: Store Raw Remote Codes in PROGMEM esphome#392 (cherry-picked)
  • core: Better error messages for OTA core#486
  • esphome: Better error messages for OTA esphome#418
  • core: Synchronize homeassistant time periodically core#485
  • core: ESP8266 Arduino 2.5.0 Compatibility core#481 (cherry-picked)
  • esphome: Add Switch Interlocking esphome#411 (cherry-picked)
  • esphome: Add local mDNS responder for .local esphome#386 (cherry-picked)
  • core: Auto-Redact private information from logs core#488
  • esphome: Auto-Redact private information from logs in dashboard esphome#421
  • esphome: Replace optimistic with Assumed State esphome#394 (cherry-picked)
  • core: Add Template Publish Action core#453 (cherry-picked)
  • esphome: Add template publish actions and switch triggers esphome#391 (cherry-picked)
  • core: Rework hostname (replaced by use_address) core#484
  • esphome: Add use_address esphome#417
  • core: Fixes I2C SH1106 repeats the first 8 lines of the display. core#492 by @n0bel
  • docs: Link Home Assistant’s include system in FAQ docs#157 by @TheHackmeister
  • core: Rework UART component for fixes core#487
  • esphome: Rework UART component for fixes esphome#419
  • esphome: Make dout the default flash mode esphome#420
  • core: Revert espressif32 package upgrade core#490
  • esphome: Revert “Upgrade espressif32 package to 1.6.0 (#355)” esphome#422
  • core: Add support for JVC remote transmitting and receiving core#493 by @jesserockz
  • esphome: Add support for JVC remote transmitting and receiving esphome#423 by @jesserockz
  • docs: Add docs for JVC remote transmitting and receiving docs#160 by @jesserockz
  • docs: H801 LED controller (remade) docs#158 by @erazor666
  • core: Enable use of alternate hardware UARTs for logging core#483 by @brandond
  • esphome: Enable use of alternate hardware UARTs for logging esphome#427 by @brandond
  • docs: Enable use of alternate hardware UARTs for logging docs#161 by @brandond
  • core: Rename esphomelib to esphome-core core#494
  • esphome: Rename esphomeyaml to esphome esphome#426
  • esphome: Include common components for compiles esphome#431
  • core: Add light partition platform core#501
  • core: Add RC5 IR code support core#502
  • core: Template switch do not restore state by default core#503
  • core: Fix ethernet initialization order core#504
  • esphome: Add RC5 IR code support esphome#432
  • core: Tweak BLE tracker settings core#505
  • esphome: Add text_sensor.template.publish action esphome#433
  • esphome: Add light partition platform esphome#434
  • core: Add ‘hidden’ option to wifi networks core#506
  • esphome: Add hidden option to wifi networks esphome#436
  • core: Add display pages abstraction core#507
  • esphome: Add display page abstraction esphome#435
  • esphome: Fix dashboard style issues esphome#437 by @TheZoker
  • esphome: Include tapTarget html element only when needed esphome#439 by @TheZoker
  • core: Add wait_until action core#508
  • esphome: Add wait_until action esphome#440
  • docs: Document addressable_lambda light effect docs#163
  • esphome: Fix custom components not registered esphome#441 (cherry-picked)
  • docs: Custom Binary Sensor: Add missing “;” and fix indentation in YAML docs#164 by @mjoshd
  • core: Add empty nameable constructors core#509 (cherry-picked)
  • core: Fix Nextion “Received unknown filler end bytes” core#510 (cherry-picked)
  • core: Fix functional attachInterrupt placed in flash core#511 (cherry-picked)
  • docs: Add Sonoff T1 LED pin docs#165 by @lwis
  • esphome: Remove duplicate scrollbar & move scrollbar esphome#443 by @TheZoker (cherry-picked)
  • esphome: Remove unnecessary wrapper esphome#444 by @TheZoker (cherry-picked)
  • core: Refactor addressable light and fix partition issue core#512 (cherry-picked)
  • esphome: Fix MQTT log topic level esphome#445 (cherry-picked)
  • core: Fix ESP8266 functional interrupts core#515 (cherry-picked)
  • esphome: Allow i2c on non-pullup pins esphome#447 (cherry-picked)
  • esphome: Allow use of arduino core v2.5.0 on ESP8266 esphome#446 (cherry-picked)
  • core: Fix feed_wdt core#520
  • core: Speed up waveshare Epaper core#518
  • esphome: Improve dashboard setup wizard esphome#450