diff --git a/changelog/2022.2.0.rst b/changelog/2022.2.0.rst index d7cda5f0b..3243c3603 100644 --- a/changelog/2022.2.0.rst +++ b/changelog/2022.2.0.rst @@ -123,6 +123,27 @@ Release 2022.2.3 - February 18 - Bump platformio from 5.2.4 to 5.2.5 :esphomepr:`3188` by :ghuser:`dependabot[bot]` +Release 2022.2.4 - February 21 +------------------------------ + +- Publish NAN when dallas conversion failed :esphomepr:`3227` by :ghuser:`OttoWinter` +- Fix ESP8266 climate memaccess warning :esphomepr:`3226` by :ghuser:`OttoWinter` +- Improve ESP8266 iram usage :esphomepr:`3223` by :ghuser:`OttoWinter` +- ESP32-C3 deep sleep fix :esphomepr:`3066` by :ghuser:`Troublebrewing` +- Fix lilygo touchscreen rotation :esphomepr:`3221` by :ghuser:`jesserockz` +- Fix fatal erroring in addon startup script :esphomepr:`3244` by :ghuser:`jesserockz` + +Release 2022.2.5 - February 23 +------------------------------ + +- Respect ESPHOME_USE_SUBPROCESS in esp32 post_build script :esphomepr:`3246` by :ghuser:`mweinelt` +- Fix regression caused by TSL2591 auto gain :esphomepr:`3249` by :ghuser:`Azimath` + +Release 2022.2.6 - March 2 +-------------------------- + +- Only get free memory size from internal :esphomepr:`3259` by :ghuser:`jesserockz` + Full list of changes -------------------- diff --git a/components/nspanel.rst b/components/nspanel.rst deleted file mode 100644 index 843909f92..000000000 --- a/components/nspanel.rst +++ /dev/null @@ -1,31 +0,0 @@ -Sonoff NSPanel -============== - -.. seo:: - :description: Instructions for using ESPHome of the Sonoff NSPanel - -The Sonoff NSPanel integration allows ESPHome to control features and functionality of the NSPanel's -built in display. - -.. code-block:: yaml - - nspanel: - time_id: REPLACEME - temperature: temperature_id - screen_power_switch: screen_power_switch_id - relays: - - relay_1_id - - relay_2_id - - widgets: - - type: scene - name: Test - on_click: - - logger.log: Test Scene tapped - - - type: empty - ... - - -Configuration Variables: ------------------------- diff --git a/components/rf_bridge.rst b/components/rf_bridge.rst index e365c9587..f8c6a9644 100644 --- a/components/rf_bridge.rst +++ b/components/rf_bridge.rst @@ -32,10 +32,10 @@ which is 19200bps. - homeassistant.event: event: esphome.rf_code_received data: - sync: !lambda 'char buffer [10];return itoa(data.sync,buffer,16);' - low: !lambda 'char buffer [10];return itoa(data.low,buffer,16);' - high: !lambda 'char buffer [10];return itoa(data.high,buffer,16);' - code: !lambda 'char buffer [10];return itoa(data.code,buffer,16);' + sync: !lambda 'return format_hex(data.sync);' + low: !lambda 'return format_hex(data.low);' + high: !lambda 'return format_hex(data.high);' + code: !lambda 'return format_hex(data.code);' Configuration variables: ------------------------ @@ -61,10 +61,10 @@ variables named ``code``, ``sync``, ``high`` and ``low``. - homeassistant.event: event: esphome.rf_code_received data: - sync: !lambda 'char buffer [10];return itoa(data.sync,buffer,16);' - low: !lambda 'char buffer [10];return itoa(data.low,buffer,16);' - high: !lambda 'char buffer [10];return itoa(data.high,buffer,16);' - code: !lambda 'char buffer [10];return itoa(data.code,buffer,16);' + sync: !lambda 'return format_hex(data.sync);' + low: !lambda 'return format_hex(data.low);' + high: !lambda 'return format_hex(data.high);' + code: !lambda 'return format_hex(data.code);' .. _rf_bridge-send_code_action: @@ -182,8 +182,8 @@ are available inside that lambda under the variables named ``code``, ``protocol` - homeassistant.event: event: esphome.rf_advanced_code_received data: - length: !lambda 'char buffer [10];return itoa(data.length,buffer,16);' - protocol: !lambda 'char buffer [10];return itoa(data.protocol,buffer,16);' + length: !lambda 'return format_hex(data.length);' + protocol: !lambda 'return format_hex(data.protocol);' code: !lambda 'return data.code;' @@ -321,7 +321,7 @@ Activate the internal buzzer to make a beep. on_...: then: - rf_bridge.beep: - duration: 100 + duration: 100 Configuration options: @@ -335,7 +335,7 @@ Configuration options: .. code-block:: cpp id(rf_bridge).beep(100); - + Getting started with Home Assistant ----------------------------------- @@ -376,10 +376,10 @@ Home Assistant as events and will also setup a service so you can send codes wit - homeassistant.event: event: esphome.rf_code_received data: - sync: !lambda 'char buffer [10];return itoa(data.sync,buffer,16);' - low: !lambda 'char buffer [10];return itoa(data.low,buffer,16);' - high: !lambda 'char buffer [10];return itoa(data.high,buffer,16);' - code: !lambda 'char buffer [10];return itoa(data.code,buffer,16);' + sync: !lambda 'return format_hex(data.sync);' + low: !lambda 'return format_hex(data.low);' + high: !lambda 'return format_hex(data.high);' + code: !lambda 'return format_hex(data.code);' Now your latest received code will be in an event. diff --git a/devices/esp8266.rst b/devices/esp8266.rst index 1b8195703..6d846558b 100644 --- a/devices/esp8266.rst +++ b/devices/esp8266.rst @@ -8,7 +8,7 @@ Generic ESP8266 All ESP8266-based devices are supported by ESPHome. Simply select ``ESP8266`` when the ESPHome wizard asks you for your platform and choose a board type -from `this link `__ when the wizard +from `this link `__ when the wizard asks you for the board type. diff --git a/guides/configuration-types.rst b/guides/configuration-types.rst index 4fa5806fa..1604a1353 100644 --- a/guides/configuration-types.rst +++ b/guides/configuration-types.rst @@ -361,6 +361,11 @@ Packages can also be loaded from a git repository by utilizing the correct confi :ref:`config-substitutions` can be used inside the remote packages which allows users to override them locally with their own subsitution value. +.. note:: + + Remote packages cannot have ``secret`` lookups in them. They should instead make use of substitutions with an + optional default in the packaged YAML, which the local device YAML can set using values from the local secrets. + .. code-block:: yaml packages: diff --git a/guides/supporters.rst b/guides/supporters.rst index e47c28634..14a397d1d 100644 --- a/guides/supporters.rst +++ b/guides/supporters.rst @@ -52,6 +52,7 @@ Contributors - `Alex Iribarren (@alexiri) `__ - `Alex Mekkering (@AlexMekkering) `__ - `Alex (@alexyao2015) `__ +- `alva (@alva-seal) `__ - `Amish Vishwakarma (@amishv) `__ - `Jason Nader (@ammgws) `__ - `anatoly-savchenkov (@anatoly-savchenkov) `__ @@ -141,6 +142,7 @@ Contributors - `Cougar (@Cougar) `__ - `Connor Prussin (@cprussin) `__ - `cryptelli (@cryptelli) `__ +- `cstaahl (@cstaahl) `__ - `Chris Talkington (@ctalkington) `__ - `cvwillegen (@cvwillegen) `__ - `cwitting (@cwitting) `__ @@ -211,6 +213,7 @@ Contributors - `Ermanno Baschiera (@ebaschiera) `__ - `Robert Resch (@edenhaus) `__ - `Niclas Larsson (@edge90) `__ +- `EdJoPaTo (@EdJoPaTo) `__ - `Eduardo Pérez (@eduperez) `__ - `Eenoo (@Eenoo) `__ - `Eli Fidler (@efidler) `__ @@ -322,6 +325,7 @@ Contributors - `Petko Bordjukov (@ignisf) `__ - `ikatkov (@ikatkov) `__ - `imgbot[bot] (@imgbot[bot]) `__ +- `ImSorryButWho (@ImSorryButWho) `__ - `Lorenzo Ortiz (@Infinitte) `__ - `irtimaled (@irtimaled) `__ - `Ivan Shvedunov (@ivan4th) `__ @@ -481,6 +485,7 @@ Contributors - `Michael Gorven (@mgorven) `__ - `mhentschke (@mhentschke) `__ - `Michaël Arnauts (@michaelarnauts) `__ +- `Micha Nordmann (@Michanord) `__ - `micronen (@micronen) `__ - `Pauline Middelink (@middelink) `__ - `Mikko Tervala (@MikkoTervala) `__ @@ -532,6 +537,7 @@ Contributors - `Joakim Vindgard (@nigobo) `__ - `nikito7 (@nikito7) `__ - `niklasweber (@niklasweber) `__ +- `Niorix (@Niorix) `__ - `Zvonimir Haramustek (@nitko12) `__ - `Nikolay Kitanov (@nkitanov) `__ - `nldroid (@nldroid) `__ @@ -539,7 +545,6 @@ Contributors - `Niccolò Maggioni (@nmaggioni) `__ - `Jan Sandbrink (@NobodysNightmare) `__ - `Łukasz Śliwiński (@nonameplum) `__ -- `ffabi (@norges) `__ - `Greg Johnson (@notgwj) `__ - `nouser2013 (@nouser2013) `__ - `Stanislav Meduna (@numo68) `__ @@ -574,6 +579,7 @@ Contributors - `Paul Doidge (@pdoidge) `__ - `peq123 (@peq123) `__ - `per1234 (@per1234) `__ +- `Peter Valkov (@peter-valkov) `__ - `Peter Foreman (@peterforeman) `__ - `Peter Remøy Paulsen (@petrepa) `__ - `Philip Rosenberg-Watt (@PhilRW) `__ @@ -706,6 +712,7 @@ Contributors - `Tempura San (@tempura-san) `__ - `testbughub (@testbughub) `__ - `Greg Lincoln (@tetious) `__ +- `Thane Gill (@thanegill) `__ - `The Impaler (@the-impaler) `__ - `Nejc (@thedexboy) `__ - `Thomas Eckerstorfer (@TheEggi) `__ @@ -744,13 +751,13 @@ Contributors - `Trick van Staveren (@trickv) `__ - `Tobias (@tripplet) `__ - `Troon (@Troon) `__ +- `Tyler Bules (@Troublebrewing) `__ - `Olli Salonen (@trsqr) `__ - `Trevor North (@trvrnrth) `__ - `Trygve Laugstøl (@trygvis) `__ - `Gediminas Šaltenis (@trylika) `__ - `Tuan (@tuanpmt) `__ - `tubalainen (@tubalainen) `__ -- `Tuckie (@Tuckie) `__ - `Alexey Vlasov (@turbulator) `__ - `Seppel Hardt (@tuxBurner) `__ - `TVDLoewe (@TVDLoewe) `__ @@ -798,4 +805,4 @@ Contributors - `Michael Labuschke (@zigman79) `__ - `Christian Zufferey (@zuzu59) `__ -*This page was last updated February 18, 2022.* +*This page was last updated March 2, 2022.* diff --git a/lint.py b/lint.py index ed2e4110c..a4b3276a1 100644 --- a/lint.py +++ b/lint.py @@ -356,8 +356,12 @@ def lint_directive_formatting(fname, content): # Empty line must follow if lines[j]: errors.append( - "Directive '{}' is not followed by an empty line. Please insert an " - "empty line after {}:{}".format(directive_name, f, j) + ( + j, + 1, + "Directive '{}' is not followed by an empty line. Please insert an " + "empty line after {}:{}".format(directive_name, fname, j), + ) ) continue @@ -374,11 +378,17 @@ def lint_directive_formatting(fname, content): num_indent = num_spaces - base_indentation if j == k and num_indent != 4: errors.append( - "Directive '{}' must be indented with 4 spaces, not {}. See " - "{}:{}".format(directive_name, num_indent, f, j + 1) + ( + j + 1, + num_indent, + "Directive '{}' must be indented with 4 spaces, not {}. See " + "{}:{}".format(directive_name, num_indent, fname, j + 1), + ) ) break + return errors + @lint_re_check( r"https://esphome.io/",