Changelog - Version 1.11.0
==========================

.. seo::
    :description: Changelog for esphomelib version 1.11.0.
    :image: /_static/changelog-1.11.0.png
    :author: Otto Winter
    :author_twitter: @OttoWinter_

.. imgtable::

    Completed Rename, index, logo.svg, dark-invert
    Home Assistant Binary Sensor, components/binary_sensor/homeassistant, home-assistant.svg, dark-invert
    Light Partition, components/light/partition, color_lens.svg, dark-invert

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 <https://github.com/esphome>`__
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 <https://www.netlify.com/>`__,
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 <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: :esphomepr:`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 :docspr:`170` by :ghuser:`kwdavidson`
- esphome: Allow non-pullup pins for dallas :esphomepr:`456`
- core: Turn off light at 0% brightness :corepr:`526`
- core: HLW8012 don't count a single pulse as power :corepr:`527`
- core: Set initial brightness to 0 when turning light on :corepr:`528`
- core: Allow white value of addressable lights to be controlled independently of brightness :corepr:`529`
- core: Fix WiFi not connecting to open networks :corepr:`531`
- esphome: Remove automatic update check :esphomepr:`457`
- esphome: Fix mDNS library added only with OTA :esphomepr:`451`
- docs: Merge dallas component :docspr:`179` by :ghuser:`FrengerH`
- docs: Correct ultrasonic filter_nan example :docspr:`159` by :ghuser:`apeeters`
- docs: Cookbook entry for Display component :docspr:`173` by :ghuser:`ahd71`
- core: Fix light partition src offset :corepr:`525`

Release 1.11.1 - February 23
----------------------------

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

Breaking Changes
----------------

- Template Switches no longer restore their state by default :corepr:`503`
- Removed heartbeat filter from binary sensors :corepr:`454`
- ``optimistic`` mode for template platforms has been split off into ``optimistic`` and
  ``assumed_state`` options :corepr:`455`
- ``run_cycles`` has been removed from deep_sleep :esphomepr:`353`

Other notable changes:
----------------------

- Added GPIO Switch interlocking :corepr:`482`
- Added light partition platform which allows you to split an addressable light into partitions
  and combine them :corepr:`501`
- Added ``wait_until`` action :corepr:`508`
- Added template publish actions, which allow you to manually push a state to a template
  platform :corepr:`453`
- Added support for SI7021 sensors (found in Sonoff TH modules) :esphomepr:`375`
- MQTT is no longer compiled into firmwares that do no use it, should save a bit of space
  :corepr:`430`, :corepr:`409`
- Added ``use_address`` option to ``wifi:`` which overrides the address ESPHome connects to :corepr:`484`
- Added display pages, which allow you to have a display that periodically switches between
  different pages of content :corepr:`507`
- Added two new IR codecs: IR5 and JVC :corepr:`502`, :corepr:`493`
- Added option to use alternative hardware UART interfaces for logging :corepr:`483`
- All log strings are stored in flash now, so that saves a few kb of IRAM on ESP8266s :corepr:`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 :corepr:`488`

Beta Fixes
----------

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


All changes
-----------

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

Past Changelogs
---------------

- :doc:`v1.10.0`
- :doc:`v1.9.0`
- :doc:`v1.8.0`
- :doc:`v1.7.0`
