esphome-docs/esphomeyaml/guides/changelog.rst

420 lines
25 KiB
ReStructuredText

Changelog
=========
Version 1.8.0
-------------
================================================== ================================================== ==================================================
|Waveshare E-Paper|_ |Nextion|_ |SSD1306|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`Waveshare E-Paper`_ `Nextion`_ `SSD1306`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|MAX7219|_ |LCD Display|_ |RCSwitch Integration|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`MAX7219`_ `LCD Display`_ `RCSwitch Integration`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|SPI Bus|_ |UART Bus|_ |RTC Time|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`SPI Bus`_ `UART Bus`_ `RTC Time`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|Uptime Sensor|_ |PN532|_ |RDM6300|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`Uptime Sensor`_ `PN532`_ `RDM6300`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|BLE RSSI|_ |Xiaomi MiFlora|_ |Xiaomi MiJia|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`BLE RSSI`_ `Xiaomi MiFlora`_ `Xiaomi MiJia`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|HMC5883L|_ |HX711|_ |HLW8012|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`HMC5883L`_ `HX711`_ `HLW8012`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|BMP280|_ |INA219|_ |INA3221|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`BMP280`_ `INA219`_ `INA3221`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|MH-Z19|_ |MS5611|_ |TCS34725|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`MH-Z19`_ `MS5611`_ `TCS34725`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|RGBWW Light|_ |Cold+Warm White Light|_ |Light Effects|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`RGBWW Light`_ `Cold+Warm White Light`_ `Light Effects`_
================================================== ================================================== ==================================================
.. |Waveshare E-Paper| image:: /esphomeyaml/images/waveshare_epaper.jpg
:class: component-image
.. _Waveshare E-Paper: /esphomeyaml/components/display/waveshare_epaper.html
.. |Nextion| image:: /esphomeyaml/images/nextion.jpg
:class: component-image
.. _Nextion: /esphomeyaml/components/display/nextion.html
.. |SSD1306| image:: /esphomeyaml/images/ssd1306.jpg
:class: component-image
.. _SSD1306: /esphomeyaml/components/display/ssd1306_i2c.html
.. |MAX7219| image:: /esphomeyaml/images/max7219.jpg
:class: component-image
.. _MAX7219: /esphomeyaml/components/display/max7219.html
.. |LCD Display| image:: /esphomeyaml/images/lcd.jpg
:class: component-image
.. _LCD Display: /esphomeyaml/components/display/lcd_gpio.html
.. |RCSwitch Integration| image:: /esphomeyaml/images/remote.svg
:class: component-image
.. _RCSwitch Integration: /esphomeyaml/components/switch/remote_transmitter.html#rcswitch-remote-codes.html
.. |SPI Bus| image:: /esphomeyaml/images/spi.svg
:class: component-image
.. _SPI Bus: /esphomeyaml/components/spi.html
.. |UART Bus| image:: /esphomeyaml/images/uart.svg
:class: component-image
.. _UART Bus: /esphomeyaml/components/uart.html
.. |RTC Time| image:: /esphomeyaml/images/clock-outline.svg
:class: component-image
.. _RTC Time: /esphomeyaml/components/time.html
.. |Uptime Sensor| image:: /esphomeyaml/images/timer.svg
:class: component-image
.. _Uptime Sensor: /esphomeyaml/components/sensor/uptime.html
.. |PN532| image:: /esphomeyaml/images/pn532.jpg
:class: component-image
.. _PN532: /esphomeyaml/components/pn532.html
.. |RDM6300| image:: /esphomeyaml/images/rdm6300.jpg
:class: component-image
.. _RDM6300: /esphomeyaml/components/rdm6300.html
.. |BLE RSSI| image:: /esphomeyaml/images/bluetooth.svg
:class: component-image
.. _BLE RSSI: /esphomeyaml/components/sensor/ble_rssi.html
.. |Xiaomi MiFlora| image:: /esphomeyaml/images/xiaomi_miflora.jpg
:class: component-image
.. _Xiaomi MiFlora: /esphomeyaml/components/sensor/xiaomi_miflora.html
.. |Xiaomi MiJia| image:: /esphomeyaml/images/xiaomi_mijia.jpg
:class: component-image
.. _Xiaomi MiJia: /esphomeyaml/components/sensor/xiaomi_mijia.html
.. |HMC5883L| image:: /esphomeyaml/images/hmc5883l.jpg
:class: component-image
.. _HMC5883L: /esphomeyaml/components/sensor/hmc5883l.html
.. |HX711| image:: /esphomeyaml/images/hx711.jpg
:class: component-image
.. _HX711: /esphomeyaml/components/sensor/hx711.html
.. |HLW8012| image:: /esphomeyaml/images/hlw8012.svg
:class: component-image
.. _HLW8012: /esphomeyaml/components/sensor/hlw8012.html
.. |BMP280| image:: /esphomeyaml/images/bmp280.jpg
:class: component-image
.. _BMP280: /esphomeyaml/components/sensor/bmp280.html
.. |INA219| image:: /esphomeyaml/images/ina219.jpg
:class: component-image
.. _INA219: /esphomeyaml/components/sensor/ina219.html
.. |INA3221| image:: /esphomeyaml/images/ina3221.jpg
:class: component-image
.. _INA3221: /esphomeyaml/components/sensor/ina3221.html
.. |MH-Z19| image:: /esphomeyaml/images/mhz19.jpg
:class: component-image
.. _MH-Z19: /esphomeyaml/components/sensor/mhz19.html
.. |MS5611| image:: /esphomeyaml/images/ms5611.jpg
:class: component-image
.. _MS5611: /esphomeyaml/components/sensor/ms5611.html
.. |TCS34725| image:: /esphomeyaml/images/tcs34725.jpg
:class: component-image
.. _TCS34725: /esphomeyaml/components/sensor/tcs34725.html
.. |RGBWW Light| image:: /esphomeyaml/images/rgbw.png
:class: component-image
.. _RGBWW Light: /esphomeyaml/components/light/rgbww.html
.. |Cold+Warm White Light| image:: /esphomeyaml/images/brightness-medium.svg
:class: component-image
.. _Cold+Warm White Light: /esphomeyaml/components/light/cwww.html
.. |Light Effects| image:: /esphomeyaml/images/creation.svg
:class: component-image
.. _Light Effects: /esphomeyaml/components/light/index#light-effects.html
Hi everyone,
Today I have a new version of esphomelib with lots of new features and tons of time put in to present to you and
I hope you're as excited as I am to try these new things out :)
This release mainly focuses on these new features:
- Lots of Bug Fixes - Now that most of the hardware has arrived from china, I was able to fix a bunch
of bugs with a lot of integrations.
- :doc:`Displays! </esphomeyaml/components/display/index>`
- NFC/RFID Readers (:doc:`PN532 </esphomeyaml/components/pn532>` and :doc:`RDM6300 </esphomeyaml/components/rdm6300>`)
- New :doc:`ESP32 BLE integrations </esphomeyaml/components/esp32_ble_tracker>` like :doc:`Xiaomi MiFlora </esphomeyaml/components/sensor/xiaomi_miflora>`
- Core Changes like the addition of the :ref:`SPI bus <spi>` and :ref:`UART bus <uart>`
- Lots of new ::ref:`light effects <light-effects>` and support for cold-white/warm-white lights.
And if you find esphomelib great and have some of your projects using it, please do spread the word online
(like `Christoph Dahlen did <https://www.dahlen.org/2018/08/esp8266-via-esphomelib-mit-home-assistant-verbinden/>`__)
and/or create :ref:`cookbook <cookbook>` entries so that others can learn from your work. Of course the main objective
of this website is to document esphomelib's features, but my vision is that it also inspires others to start
awesome projects ☀️
Special thanks to all the contributors for this release:
- `@exxamalte <https://github.com/exxamalte>`__
- `@per1234 <https://github.com/per1234>`__
- `@nunofgs <https://github.com/nunofgs>`__
- `@lobradov <https://github.com/lobradov>`__
- `@janpieper <https://github.com/janpieper>`__
- `@aequitas <https://github.com/aequitas>`__
- And last but not least: `@brandond <https://github.com/brandond>`__ for his awesome work on the new
time component
And in more personal news, I'm currently getting ready for my trip to Japan 🇯🇵 to be part of team Austria
in this year's `international olympiad in informatics (IOI) <https://ioi2018.jp/>`__ (hence also the relatively
short release notes). If you'll be attending too, come say hi :)
Other notable changes
*********************
- Fixed certain occasions where esphomeyaml could run into recursive dependencies
- Fixed i2c scans not showing up via MQTT
- Improved build times by about 60%. Now, the build time should depend on the amount of components you're using, not the total esphomelib code base size.
- Fixed ESP32 Touch setup mode
- Fixed template binary sensors
- Added the option to specify ``never`` for ``update_interval`` to never
- Added ``deep_sleep.prevent`` and ``deep_sleep.enter`` actions
- Fixed ESP32BLETracker surpassing the maximum code size
- Fixed ESP32BLETracker/Beacon throwing an exception when a warning occurs.
- Fixed FastLED effects not taking into account the light brightness
- Fixed compatability with Arduino core versions below 2.0.4
- Added ``output.turn_on``, ``output.turn_off`` and ``output.set_level`` actions.
- Fixed the remote transmitter/receiver using the heap inefficiently on the ESP8266 (was causing reboots)
- Fixed reliability with reading data from BME280s
- Fixed gas resistance readings from BME680s
- Fixed HTU21D readings only working in very verbose mode
- Sometimes the ESP would create a WiFi hotspot even though it was not configured to do so. That should be fixed now.
- In actions, instead of
.. code:: yaml
on_...:
switch.turn_on:
id: my_switch
You can now write:
.. code:: yaml
on_...:
switch.turn_on: my_switch
- You can now also have conditional actions. See :ref:`if_action`.
- The esphomeyaml dashboard and HassIO add-on now can be configured with a password.
- Fixed YAML anchors not working (you can now prefix keys with ``.`` to make esphomeyaml ignore them)
- Made Dallas and DHT temperature sensor a bit more reliable by making the code a bit more efficient and thus resolving some timing issues.
Breaking Changes
****************
- Light Effects now need to be manually declared in the config and will no longer show up automatically. Please see :ref:`light-effects`
- MAX6675 has been migrated to use the new SPI bus (and fixed!). Please see the docs for how to use it now.
Version 1.7.0
-------------
Wow, what a week! As you may know, I wrote a blog post on the `Home Assistant web site <https://www.home-assistant.io/blog/2018/06/05/esphomelib/>`__
and since then, the amount of esphomelib users has grown sixfold according to the number of GitHub clones!
Version 1.7.0 of esphomelib brings with it (again) a lot of awesome features. One I'm particularly excited about is
the new ESP32 BLE Beacon, with it I can finally track reliably whether my devices are home or not without wasting too much
battery. But also the new remote receivers and remote transmitters have allowed me to add about ~15 433MHz lights into
Home Assistant.
In the next couple of weeks I unfortunately won't be able to "innovate" as quickly as in the previous weeks, as I will
be travelling a lot (and enjoying my vacation 😎), so don't expect too many awesome features 😸
================================================== ================================================== ==================================================
|ESP32 BLE Beacon|_ |Status LED|_ |WiFi Signal Strength|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`ESP32 BLE Beacon`_ `Status LED`_ `WiFi Signal Strength`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|Duty Cycle Sensor|_ |Pulse Counter for ESP8266|_ |Remote Transmitter|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`Duty Cycle Sensor`_ `Pulse Counter for ESP8266`_ `Remote Transmitter`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|Remote Receiver|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`Remote Receiver`_
================================================== ================================================== ==================================================
.. |ESP32 BLE Beacon| image:: /esphomeyaml/images/bluetooth.svg
:class: component-image
.. _ESP32 BLE Beacon: /esphomeyaml/components/esp32_ble_beacon.html
.. |Status LED| image:: /esphomeyaml/images/led-on.svg
:class: component-image
.. _Status LED: /esphomeyaml/components/status_led.html
.. |WiFi Signal Strength| image:: /esphomeyaml/images/network-wifi.svg
:class: component-image
.. _WiFi Signal Strength: /esphomeyaml/components/sensor/wifi_signal.html
.. |Duty Cycle Sensor| image:: /esphomeyaml/images/percent.svg
:class: component-image
.. _Duty Cycle Sensor: /esphomeyaml/components/sensor/duty_cycle.html
.. |Pulse Counter for ESP8266| image:: /esphomeyaml/images/pulse.svg
:class: component-image
.. _Pulse Counter for ESP8266: /esphomeyaml/components/sensor/pulse_counter.html
.. |Remote Transmitter| image:: /esphomeyaml/images/remote.svg
:class: component-image
.. _Remote Transmitter: /esphomeyaml/components/switch/remote_transmitter.html
.. |Remote Receiver| image:: /esphomeyaml/images/remote.svg
:class: component-image
.. _Remote Receiver: /esphomeyaml/components/binary_sensor/remote_receiver.html
New Components
**************
- New :doc:`WiFi signal strength sensor </esphomeyaml/components/sensor/wifi_signal>` by
`@brandond <https://github.com/brandond>`__. So now you can monitor how strong the WiFi signal is for your node 📶
- You can now create a BLE iBeacon with your ESP32s using the new
:doc:`BLE Beacon component </esphomeyaml/components/esp32_ble_beacon>`.
- esphomelib has finally gained support for a :doc:`status LED </esphomeyaml/components/status_led>`. Now
you can quickly identify if everything is OK with your ESP with a quick look at this LED. Happy |blinking|!
.. |blinking| raw:: html
<span class="blink-tag">blinking</span>
- The :doc:`pulse counter sensor </esphomeyaml/components/sensor/pulse_counter>` has been backported to the
ESP8266, so now you can observe the number of pulses and frequency on any pin 🔢
- A new :doc:`duty cycle sensor </esphomeyaml/components/sensor/duty_cycle>` has been added, allowing you to
measure how much of the time a specific pin is HIGH or LOW. Can for example be used to detect if a status LED
on an external device is blinking or permanently on.
- The new :doc:`remote receiver </esphomeyaml/components/remote_transmitter>` and
:doc:`remote transmitter </esphomeyaml/components/remote_receiver>` components now allows you to use any 433MHz
receivers and senders with esphomelib. Currently, you will need to use the ``raw`` data as described in
:ref:`this guide <finding_remote_codes>`, but in the future more protocols will be supported out of the box.
New Features
************
- While all :ref:`automations <automation>` were previously already performed on the ESP itself, they only
triggered when an active WiFi and MQTT connection existed. Large parts of the WiFi and MQTT clients has now
been rewritten to allow for automations to be executed asynchronously, while the device is still connecting to WiFi.
- The HassIO add-on now has a new ``password`` option with which you can secure your installation. See
:doc:`/esphomeyaml/guides/getting_started_hassio`. 🔒
- Binary Sensors now have filters too. They can now be used to debounce any binary sensor and do some more
complicated actions using lambdas. See :ref:`binary_sensor-filters`. ⛹️‍
- All components can now be flagged ``internal``. Doing so will prevent them from being represented in the front-end
(like MQTT). Useful for :ref:`on-device automations <automation>`. See 😎
- The :doc:`/esphomeyaml/components/deep_sleep` now has a ``wakeup_pin_mode`` option for the ESP32. This option
can be used to tell esphomelib what to do if the wakeup pin is already in the wakeup level when attempting
to enter deep sleep. 🛌
- There are two new triggers available now: :ref:`esphomeyaml.on_boot <esphomeyaml-on_boot>` and
:ref:`esphomeyaml.on_shutdown <esphomeyaml-on_shutdown>` with which you can do some advanced cleanup/setup
on boot and shutdown of the node.
- All HassIO add-on builds have now been more or less completely automated using a private Gitlab server. You
can find all the new docker files `here <https://github.com/OttoWinter/esphomeyaml/tree/master/docker>`__.
- Added a new ``build_path`` option in the ``esphomeyaml`` section with which you can customize where
esphomeyaml stores the platformio project files. See :doc:`/esphomeyaml/components/esphomeyaml`.
Breaking Changes
****************
- Fixed the :doc:`SHT3x-D </esphomeyaml/components/sensor/sht3xd>` component and removed the ``accuracy``
parameter. The accuracy now defaults to ``HIGH``.
- The ``inverted`` option of binary sensors has been moved into the ``filters:`` section. So instead of
.. code:: yaml
binary_sensor:
- platform: ...
# ...
inverted: True
you would now write:
.. code:: yaml
binary_sensor:
- platform: ...
# ...
filters:
- invert:
- The ``esp32_ble`` component and platform have been renamed to :doc:`esp32_ble_tracker
</esphomeyaml/components/esp32_ble_tracker>` in order to make the naming clearer with the new :doc:`esp32_ble_beacon
</esphomeyaml/components/esp32_ble_beacon>` component.
- The ``receive_timeout`` option has been removed from the :doc:`i2c component </esphomeyaml/components/i2c>` as it
turns out it didn't actually do anything.
- The ``ir_transmitter`` component has been renamed to :doc:`remote_transmitter </esphomeyaml/components/remote_transmitter>`
as it now works with all kinds of protocols, not just infrared-based ones.
- The ``pull_mode`` option of the :doc:`Pulse Counter </esphomeyaml/components/sensor/pulse_counter>` has been removed, please
use the :ref:`Pin Schema <config-pin_schema>` now instead. Additionally, the ``internal_filter`` option now only accepts
:ref:`time <config-time>` units.
Other Contributions
-------------------
(Not in any order and probably missed some, still figuring this changelog stuff out...)
- Make sure logs after upload works when using explicit OTA. (`esphomeyaml/#42`_) by `@aequitas`_
- Fix deprecation of board_flash_mode parameter (`esphomeyaml/#41`_) by `@aequitas`_
- Support specifying hostname/ip as --upload-port (`esphomeyaml/#36`_) by `@aequitas`_
- DHT11 sensor doesn't work with esphomelib (`esphomelib/#88`_) by `@ayavilevich`_
- tsl2561: wrong i2c function for channel 1 (`esphomelib/#81`_) by `@schumar`_
- No need to wait after Wire.requestFrom(). (`esphomelib/#80`_) by `@Koepel`_
- I2CComponent::write_byte_16 writes 0 words (`esphomelib/#78`_) by `@schumar`_
- Minor update to the feature section (`esphomelib/#71`_) by `@fabaff`_
- Fix pin number (`esphomelib/#70`_) by `@fabaff`_
- Fix #55 - Action._next not initialized to nullptr (`esphomelib/#57`_) by `@brandond`_
- Add workaround for out of space esp8266 ota update. (`esphomedocs/#12`_) by `@aequitas`_
- Add cookbook for dual relay cover (`esphomedocs/#10`_) by `@r-jordan`_
- Correct output pin declaration in S20 device guide example. (`esphomedocs/#9`_) by `@r-jordan`_
- Remove BMP280 (doesn't work) (`esphomedocs/#8`_) by `@fabaff`_
- Passing inverted to output should be valid, but does not work, use … (`esphomedocs/#7`_) by `@aequitas`_
- Make the example configuration entry copy&paste-friendly (`esphomedocs/#6`_) by `@fabaff`_
- Minor formatting tweaks. (`esphomedocs/#4`_) by `@Landradsh`_
- Details about Sonoff basic (`esphomedocs/#3`_) by `@fabaff`_
- Add missing module (`esphomedocs/#2`_) by `@fabaff`_
- Fix unit name (`esphomedocs/#1`_) by `@fabaff`_
.. _esphomeyaml/#36: https://github.com/OttoWinter/esphomeyaml/pull/36
.. _esphomeyaml/#42: https://github.com/OttoWinter/esphomeyaml/pull/42
.. _esphomeyaml/#41: https://github.com/OttoWinter/esphomeyaml/pull/41
.. _esphomelib/#88: https://github.com/OttoWinter/esphomeyaml/pull/88
.. _esphomelib/#81: https://github.com/OttoWinter/esphomeyaml/pull/81
.. _esphomelib/#80: https://github.com/OttoWinter/esphomeyaml/pull/80
.. _esphomelib/#78: https://github.com/OttoWinter/esphomeyaml/pull/78
.. _esphomelib/#71: https://github.com/OttoWinter/esphomeyaml/pull/71
.. _esphomelib/#70: https://github.com/OttoWinter/esphomeyaml/pull/70
.. _esphomelib/#57: https://github.com/OttoWinter/esphomeyaml/pull/57
.. _esphomedocs/#12: https://github.com/OttoWinter/esphomeyaml/pull/12
.. _esphomedocs/#10: https://github.com/OttoWinter/esphomeyaml/pull/10
.. _esphomedocs/#9: https://github.com/OttoWinter/esphomeyaml/pull/9
.. _esphomedocs/#8: https://github.com/OttoWinter/esphomeyaml/pull/8
.. _esphomedocs/#7: https://github.com/OttoWinter/esphomeyaml/pull/7
.. _esphomedocs/#6: https://github.com/OttoWinter/esphomeyaml/pull/6
.. _esphomedocs/#4: https://github.com/OttoWinter/esphomeyaml/pull/4
.. _esphomedocs/#3: https://github.com/OttoWinter/esphomeyaml/pull/3
.. _esphomedocs/#2: https://github.com/OttoWinter/esphomeyaml/pull/2
.. _esphomedocs/#1: https://github.com/OttoWinter/esphomeyaml/pull/1
.. _@aequitas: https://github.com/aequitas
.. _@ayavilevich: https://github.com/ayavilevich
.. _@schumar: https://github.com/schumar
.. _@Koepel: https://github.com/Koepel
.. _@fabaff: https://github.com/fabaff
.. _@brandond: https://github.com/brandond
.. _@r-jordan: https://github.com/r-jordan
.. _@Landradsh: https://github.com/Landradsh
And last but not least, check out this awesome video by `The Hook Up <https://www.youtube.com/channel/UC2gyzKcHbYfqoXA5xbyGXtQ>`__
for using esphomeyaml to create a simple wireless doorbell:
.. raw:: html
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/xCQoOZNdaGY" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>