diff --git a/Doxygen b/Doxygen index 1e69a5e7a..7c6db9dce 100644 --- a/Doxygen +++ b/Doxygen @@ -38,7 +38,7 @@ PROJECT_NAME = "ESPHome" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 1.12.1 +PROJECT_NUMBER = 1.12.2 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/Makefile b/Makefile index 4d547a8d1..ba304cf43 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ ESPHOME_CORE_PATH = ../esphome-core -ESPHOME_CORE_TAG = v1.12.1 +ESPHOME_CORE_TAG = v1.12.2 .PHONY: html cleanhtml deploy help webserver Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png diff --git a/_static/version b/_static/version index 6f165bc1b..69669de69 100644 --- a/_static/version +++ b/_static/version @@ -1 +1 @@ -1.12.1 \ No newline at end of file +1.12.2 \ No newline at end of file diff --git a/changelog/v1.12.0.rst b/changelog/v1.12.0.rst index 30ab798cf..3d835b945 100644 --- a/changelog/v1.12.0.rst +++ b/changelog/v1.12.0.rst @@ -82,6 +82,32 @@ Release 1.12.1 - March 20 - core: Fix addressable lights starting white at boot :corepr:`556` - esphome: Fix IPAddress in validate secret :esphomepr:`488` +Release 1.12.2 - March 31 +------------------------- + +- esphome: Better symlink support under Windows :esphomepr:`487` by :ghuser:`glmnet` +- core: Fix WiFi Info sensor for ESP32 :corepr:`561` +- core: Revert ultrasonic sensor to non-interrupt mode :corepr:`562` +- core: Fix web_server for text_sensors :corepr:`567` +- core: Fix ESP8266 cannot OTA after failed OTA attempt :corepr:`564` +- core: ESP8266 SDK Core 2.3.0 compat :corepr:`563` +- esphome: ESP8266 SDK 2.3.0 compat :esphomepr:`490` +- docs: Expand USB flashing, clarify how to report a bug. :docspr:`204` by :ghuser:`balloob` +- core: Fix dallas on GPIO0 :corepr:`568` +- docs: Fix api homeassistant.service docs :docspr:`209` by :ghuser:`davericher` +- esphome: Upgrade ESPAsyncTCP to 1.2.0 :esphomepr:`497` +- core: Upgrade espasynctcp :corepr:`576` +- esphome: Fix dashboard wizard unicode :esphomepr:`494` +- esphome: Fix text sensor MQTT settings :esphomepr:`495` +- core: Split up WiFi ESP32 and ESP8266 implementation :corepr:`572` +- core: Fix MCP23017 to work on OUTPUT mode. :corepr:`571` by :ghuser:`puerari` +- core: Disable wifi interface on shutdown :corepr:`566` +- core: Fix light flashes :corepr:`578` +- core: Rewrite PN532 to fix some lowvbat issues :corepr:`575` +- core: cse7766 fix :corepr:`558` by :ghuser:`brianrjones69` +- esphome: Upgrade docker base image to 1.4.3 :esphomepr:`499` +- core: Fix neopixelbus logging causes section type conflict :corepr:`579` + All changes ----------- diff --git a/components/binary_sensor/esp32_touch.rst b/components/binary_sensor/esp32_touch.rst index 19f2ed8fa..892078cef 100644 --- a/components/binary_sensor/esp32_touch.rst +++ b/components/binary_sensor/esp32_touch.rst @@ -11,7 +11,7 @@ Component/Hub ------------- The ``esp32_touch`` component creates a global hub for detecting touches on -the eight touch pads of the ESP32 as :ref:`binary senors `. +the eight touch pads of the ESP32 as :ref:`binary sensors `. .. code-block:: yaml diff --git a/components/esphome.rst b/components/esphome.rst index a73fd6872..453fe96ac 100644 --- a/components/esphome.rst +++ b/components/esphome.rst @@ -56,10 +56,8 @@ ESP8266 Options: - **board_flash_mode** (*Optional*, string): The `SPI flash mode `__ to use for the board. One of ``qio``, ``qout``, ``dio`` and ``dout``. Defaults to ``dout``. -- **esp8266_restore_from_flash** (*Optional*, boolean): Whether to save & restore data from flash so - that the device state can be restored across power cycles. Keep in mind that this will slowly - wear out the flash (so if you have automations that repeatedly toggle a component do not use this - option (flash usually supports 100 000 write cycles). Defaults to ``no``. +- **esp8266_restore_from_flash** (*Optional*, boolean): Whether to save & restore data from flash on ESP8266s. + Defaults to ``no``. See :ref:`esphome-esp8266_restore_from_flash` for more info Automations: @@ -172,6 +170,27 @@ For the ESP32, there are two arduino framework versions: - `1.0.1 `__ (default). - `1.0.0 `__. +.. _esphome-esp8266_restore_from_flash: + +``esp8266_restore_from_flash`` +------------------------------ + +With this option you can control where the state of certain components is kept on the ESP. +Components like ``light``, ``switch``, ``fan`` and ``globals`` can restore their state upon +boot. + +However, by default this data is stored in the "RTC memory" section of the ESP8266s. This memory +is cleared when the ESP8266 is disconnected from power. So by default the state cannot be recovered +after power loss. + +To still have these components restore their state upon power loss the state can additionally be +saved in *flash* memory by setting this option to ``true``. + +Beware: The flash has a limited number of write cycles (usually around 100 000), after that +the flash section will fail. So do not use this option when you have components that update rapidly. +These include GPIO switches that are used internally (disable restoring with the ``restore_mode`` option), +certain light effects like ``random`` and the ``on_value_range`` trigger. + .. _esphome-on_boot: ``on_boot`` diff --git a/components/mqtt.rst b/components/mqtt.rst index 8d9030283..753eda26f 100644 --- a/components/mqtt.rst +++ b/components/mqtt.rst @@ -145,6 +145,12 @@ retained messages for you: esphome configuration.yaml clean-mqtt +With Docker: + +.. code-block:: bash + + docker run --rm -v "${PWD}":/config -it esphome/esphome configuration.yaml clean-mqtt + This will remove all retained messages with the topic ``/+/NODE_NAME/#``. If you want to purge on another topic, simply add ``--topic `` to the command. diff --git a/components/sensor/adc.rst b/components/sensor/adc.rst index d9ec0f08c..cf5941300 100644 --- a/components/sensor/adc.rst +++ b/components/sensor/adc.rst @@ -38,8 +38,18 @@ Configuration variables: .. note:: - On the ESP8266, the voltage range is 0 to 1.0V - so to measure any higher voltage you need to scale the voltage - down using, for example, a voltage divider circuit. + This component prints the voltage as seen by the chip pin. On the ESP8266, this is always 0.0V to 1.0V + Some development boards like the Wemos D1 mini include external voltage divider circuitry to scale down + a 3.3V input signal to the chip-internal 1.0V. If your board has this circuitry, add a multiply filter to + get correct values: + + .. code-block:: yaml + + sensor: + - platform: adc + # ... + filters: + - multiply: 3.3 .. _adc-esp32_attenuation: diff --git a/components/sensor/homeassistant.rst b/components/sensor/homeassistant.rst index 5fa5e977c..27e6a0069 100644 --- a/components/sensor/homeassistant.rst +++ b/components/sensor/homeassistant.rst @@ -5,7 +5,7 @@ Homeassistant Sensor :description: Instructions for setting up homeassistant sensors with ESPHome that import states from your homeassistant instance. :image: home-assistant.png -The ``homeassistant`` sensor platform allows you to create a sensors that import +The ``homeassistant`` sensor platform allows you to create sensors that import states from your Home Assistant instance using the :doc:`native API `. .. code-block:: yaml diff --git a/components/sensor/index.rst b/components/sensor/index.rst index c76d54bb4..afa9b6b3d 100644 --- a/components/sensor/index.rst +++ b/components/sensor/index.rst @@ -104,7 +104,6 @@ for platforms with multiple sensors) - 40.0 -> 45.0 - 100.0 -> 102.5 - filter_out: 42.0 - - filter_nan: - sliding_window_moving_average: window_size: 15 send_every: 15 diff --git a/components/stepper/index.rst b/components/stepper/index.rst index cfec0165d..045be4fa1 100644 --- a/components/stepper/index.rst +++ b/components/stepper/index.rst @@ -155,17 +155,6 @@ Configuration options: id: my_stepper target: 150 -.. note:: - - This action can also be expressed as a :ref:`lambda `: - - .. code-block:: cpp - - id(my_stepper).set_target(250); - - // Get the currently set target position: - int target = id(my_stepper).target_position; - .. _stepper-report_position_action: ``stepper.report_position`` Action @@ -206,17 +195,6 @@ Configuration options: - **id** (**Required**, :ref:`config-id`): The ID of the stepper. - **target** (*Optional*, int, :ref:`templatable `): The target position in steps. -.. note:: - - This action can also be expressed as a :ref:`lambda `: - - .. code-block:: cpp - - id(my_stepper).report_position(250); - - // Get the current position: - int pos = id(my_stepper).current_position; - .. _stepper-ha-config: Home Assistant Configuration @@ -268,6 +246,41 @@ be able to control the stepper from the frontend. # [...] stepper config id: my_stepper +.. _stepper-lambda_calls: + +lambda calls +------------ + +From :ref:`lambdas `, you can call several methods on stepper motors to do some +advanced stuff (see the full API Reference for more info). + +- ``set_target``: Set the target postion of the motor as an integer. + + .. code-block:: cpp + + // Argument is integer (signed int) + // Set the (absolute) target position to 250 steps + id(my_stepper).set_target(250); + +- ``report_position``: Report the current postion as an integer. + + .. code-block:: cpp + + // Report the (absolute) current position as 250 steps + id(my_stepper).report_position(250); + +- ``current_postion``: Get the current postion of the stepper as an integer. + + .. code-block:: cpp + + int pos = id(my_stepper).current_position; + + +- ``target_position``: Get the set target postion of the stepper as an integer. + + .. code-block:: cpp + + int pos = id(my_stepper).target_position; See Also -------- diff --git a/conf.py b/conf.py index 35f574356..8f2b54b8a 100644 --- a/conf.py +++ b/conf.py @@ -72,7 +72,7 @@ author = 'Otto Winter' # The short X.Y version. version = '1.12' # The full version, including alpha/beta/rc tags. -release = '1.12.1' +release = '1.12.2' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/guides/automations.rst b/guides/automations.rst index 6acb6498c..288d79bf8 100644 --- a/guides/automations.rst +++ b/guides/automations.rst @@ -358,6 +358,17 @@ All Conditions - :ref:`switch.is_on ` / :ref:`switch.is_off ` - :ref:`sensor.in_range ` +All Lambda Calls +---------------- + +- :ref:`Sensor ` +- :ref:`Binary Sensor ` +- :ref:`Switch ` +- :ref:`Display ` +- :ref:`Cover ` +- :ref:`Text Sensor ` +- :ref:`Stepper ` + .. _delay_action: ``delay`` Action diff --git a/guides/supporters.rst b/guides/supporters.rst index e21252e57..edaca9559 100644 --- a/guides/supporters.rst +++ b/guides/supporters.rst @@ -38,7 +38,6 @@ Patrons People that support ESPHome's development over `Patreon `__. You guys are awesome! -- Paul Morley - Nick Rout - Kenvase - Magnus Overli @@ -49,6 +48,8 @@ You guys are awesome! - Jung Ervin - Book of the Future - Daan Damhuis +- Dennis Münchgesang +- DrZzs Contributors @@ -61,7 +62,7 @@ that have made it into the `ESPHome organization's ` Author & Main Developer *********************** -- `Otto Winter (@OttoWinter) `__ - 1541 contributions +- `Otto Winter (@OttoWinter) `__ - 1556 contributions Contributors ************ @@ -91,10 +92,12 @@ Contributors - `balk77 (@balk77) `__ - 1 contribution - `Paulus Schoutsen (@balloob) `__ - 1 contribution - `Brandon Davidson (@brandond) `__ - 11 contributions +- `brianrjones69 (@brianrjones69) `__ - 1 contribution - `chris-jennings (@chris-jennings) `__ - 1 contribution - `James Crook (@cooljimy84) `__ - 1 contribution - `Corban Mailloux (@corbanmailloux) `__ - 5 contributions - `cryptelli (@cryptelli) `__ - 2 contributions +- `Dave Richer (@davericher) `__ - 2 contributions - `Dirk Jahnke (@dirkj) `__ - 1 contribution - `Jiang Sheng (@doskoi) `__ - 1 contribution - `Robert Schütz (@dotlambda) `__ - 3 contributions @@ -111,7 +114,7 @@ Contributors - `Ivan Kravets (@ivankravets) `__ - 1 contribution - `Jan Pieper (@janpieper) `__ - 2 contributions - `JbLb (@jblb) `__ - 1 contribution -- `jdads1 (@jdads1) `__ - 1 contribution +- `Joshua Dadswell (@jdads1) `__ - 1 contribution - `Jesse Hills (@jesserockz) `__ - 3 contributions - `John Erik Halse (@johnerikhalse) `__ - 1 contribution - `JonnyaiR (@jonnyair) `__ - 2 contributions @@ -124,7 +127,7 @@ Contributors - `mjoshd (@mjoshd) `__ - 2 contributions - `Matt N. (@mnoorenberghe) `__ - 1 contribution - `mtl010957 (@mtl010957) `__ - 3 contributions -- `Michiel van Turnhout (@mvturnho) `__ - 3 contributions +- `Michiel van Turnhout (@mvturnho) `__ - 5 contributions - `Kevin Uhlir (@n0bel) `__ - 1 contribution - `Alex (@nnmalex) `__ - 1 contribution - `Greg Johnson (@notgwj) `__ - 1 contribution @@ -133,8 +136,9 @@ Contributors - `Paul Nicholls (@pauln) `__ - 1 contribution - `per1234 (@per1234) `__ - 2 contributions - `pixiandreas (@pixiandreas) `__ - 1 contribution -- `Plácido Revilla (@placidorevilla) `__ - 1 contribution +- `Plácido Revilla (@placidorevilla) `__ - 2 contributions - `DK (@poldim) `__ - 1 contribution +- `Leandro Puerari (@puerari) `__ - 1 contribution - `puuu (@puuu) `__ - 10 contributions - `Tommy Jonsson (@quazzie) `__ - 1 contribution - `r-jordan (@r-jordan) `__ - 1 contribution @@ -151,4 +155,4 @@ Contributors - `Vladimir Eremin (@yottatsa) `__ - 1 contribution - `YuanL.Lee (@yuanl) `__ - 1 contribution -*This page was last updated Fri Mar 29 20:43:46 2019 UTC.* +*This page was last updated Sun Apr 7 12:19:13 2019 UTC.*