Merge branch 'current' into next

This commit is contained in:
Jesse Hills 2022-03-09 20:05:01 +13:00
commit a0e81502fe
No known key found for this signature in database
GPG Key ID: BEAAE804EFD8E83A
7 changed files with 67 additions and 55 deletions

View File

@ -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
--------------------

View File

@ -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:
------------------------

View File

@ -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.

View File

@ -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 <https://platformio.org/boards?count=1000&filter%5Bplatform%5D=espressif8266>`__ when the wizard
from `this link <https://registry.platformio.org/platforms/platformio/espressif8266/boards>`__ when the wizard
asks you for the board type.

View File

@ -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:

View File

@ -52,6 +52,7 @@ Contributors
- `Alex Iribarren (@alexiri) <https://github.com/alexiri>`__
- `Alex Mekkering (@AlexMekkering) <https://github.com/AlexMekkering>`__
- `Alex (@alexyao2015) <https://github.com/alexyao2015>`__
- `alva (@alva-seal) <https://github.com/alva-seal>`__
- `Amish Vishwakarma (@amishv) <https://github.com/amishv>`__
- `Jason Nader (@ammgws) <https://github.com/ammgws>`__
- `anatoly-savchenkov (@anatoly-savchenkov) <https://github.com/anatoly-savchenkov>`__
@ -141,6 +142,7 @@ Contributors
- `Cougar (@Cougar) <https://github.com/Cougar>`__
- `Connor Prussin (@cprussin) <https://github.com/cprussin>`__
- `cryptelli (@cryptelli) <https://github.com/cryptelli>`__
- `cstaahl (@cstaahl) <https://github.com/cstaahl>`__
- `Chris Talkington (@ctalkington) <https://github.com/ctalkington>`__
- `cvwillegen (@cvwillegen) <https://github.com/cvwillegen>`__
- `cwitting (@cwitting) <https://github.com/cwitting>`__
@ -211,6 +213,7 @@ Contributors
- `Ermanno Baschiera (@ebaschiera) <https://github.com/ebaschiera>`__
- `Robert Resch (@edenhaus) <https://github.com/edenhaus>`__
- `Niclas Larsson (@edge90) <https://github.com/edge90>`__
- `EdJoPaTo (@EdJoPaTo) <https://github.com/EdJoPaTo>`__
- `Eduardo Pérez (@eduperez) <https://github.com/eduperez>`__
- `Eenoo (@Eenoo) <https://github.com/Eenoo>`__
- `Eli Fidler (@efidler) <https://github.com/efidler>`__
@ -322,6 +325,7 @@ Contributors
- `Petko Bordjukov (@ignisf) <https://github.com/ignisf>`__
- `ikatkov (@ikatkov) <https://github.com/ikatkov>`__
- `imgbot[bot] (@imgbot[bot]) <https://github.com/imgbot[bot]>`__
- `ImSorryButWho (@ImSorryButWho) <https://github.com/ImSorryButWho>`__
- `Lorenzo Ortiz (@Infinitte) <https://github.com/Infinitte>`__
- `irtimaled (@irtimaled) <https://github.com/irtimaled>`__
- `Ivan Shvedunov (@ivan4th) <https://github.com/ivan4th>`__
@ -481,6 +485,7 @@ Contributors
- `Michael Gorven (@mgorven) <https://github.com/mgorven>`__
- `mhentschke (@mhentschke) <https://github.com/mhentschke>`__
- `Michaël Arnauts (@michaelarnauts) <https://github.com/michaelarnauts>`__
- `Micha Nordmann (@Michanord) <https://github.com/Michanord>`__
- `micronen (@micronen) <https://github.com/micronen>`__
- `Pauline Middelink (@middelink) <https://github.com/middelink>`__
- `Mikko Tervala (@MikkoTervala) <https://github.com/MikkoTervala>`__
@ -532,6 +537,7 @@ Contributors
- `Joakim Vindgard (@nigobo) <https://github.com/nigobo>`__
- `nikito7 (@nikito7) <https://github.com/nikito7>`__
- `niklasweber (@niklasweber) <https://github.com/niklasweber>`__
- `Niorix (@Niorix) <https://github.com/Niorix>`__
- `Zvonimir Haramustek (@nitko12) <https://github.com/nitko12>`__
- `Nikolay Kitanov (@nkitanov) <https://github.com/nkitanov>`__
- `nldroid (@nldroid) <https://github.com/nldroid>`__
@ -539,7 +545,6 @@ Contributors
- `Niccolò Maggioni (@nmaggioni) <https://github.com/nmaggioni>`__
- `Jan Sandbrink (@NobodysNightmare) <https://github.com/NobodysNightmare>`__
- `Łukasz Śliwiński (@nonameplum) <https://github.com/nonameplum>`__
- `ffabi (@norges) <https://github.com/norges>`__
- `Greg Johnson (@notgwj) <https://github.com/notgwj>`__
- `nouser2013 (@nouser2013) <https://github.com/nouser2013>`__
- `Stanislav Meduna (@numo68) <https://github.com/numo68>`__
@ -574,6 +579,7 @@ Contributors
- `Paul Doidge (@pdoidge) <https://github.com/pdoidge>`__
- `peq123 (@peq123) <https://github.com/peq123>`__
- `per1234 (@per1234) <https://github.com/per1234>`__
- `Peter Valkov (@peter-valkov) <https://github.com/peter-valkov>`__
- `Peter Foreman (@peterforeman) <https://github.com/peterforeman>`__
- `Peter Remøy Paulsen (@petrepa) <https://github.com/petrepa>`__
- `Philip Rosenberg-Watt (@PhilRW) <https://github.com/PhilRW>`__
@ -706,6 +712,7 @@ Contributors
- `Tempura San (@tempura-san) <https://github.com/tempura-san>`__
- `testbughub (@testbughub) <https://github.com/testbughub>`__
- `Greg Lincoln (@tetious) <https://github.com/tetious>`__
- `Thane Gill (@thanegill) <https://github.com/thanegill>`__
- `The Impaler (@the-impaler) <https://github.com/the-impaler>`__
- `Nejc (@thedexboy) <https://github.com/thedexboy>`__
- `Thomas Eckerstorfer (@TheEggi) <https://github.com/TheEggi>`__
@ -744,13 +751,13 @@ Contributors
- `Trick van Staveren (@trickv) <https://github.com/trickv>`__
- `Tobias (@tripplet) <https://github.com/tripplet>`__
- `Troon (@Troon) <https://github.com/Troon>`__
- `Tyler Bules (@Troublebrewing) <https://github.com/Troublebrewing>`__
- `Olli Salonen (@trsqr) <https://github.com/trsqr>`__
- `Trevor North (@trvrnrth) <https://github.com/trvrnrth>`__
- `Trygve Laugstøl (@trygvis) <https://github.com/trygvis>`__
- `Gediminas Šaltenis (@trylika) <https://github.com/trylika>`__
- `Tuan (@tuanpmt) <https://github.com/tuanpmt>`__
- `tubalainen (@tubalainen) <https://github.com/tubalainen>`__
- `Tuckie (@Tuckie) <https://github.com/Tuckie>`__
- `Alexey Vlasov (@turbulator) <https://github.com/turbulator>`__
- `Seppel Hardt (@tuxBurner) <https://github.com/tuxBurner>`__
- `TVDLoewe (@TVDLoewe) <https://github.com/TVDLoewe>`__
@ -798,4 +805,4 @@ Contributors
- `Michael Labuschke (@zigman79) <https://github.com/zigman79>`__
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
*This page was last updated February 18, 2022.*
*This page was last updated March 2, 2022.*

18
lint.py
View File

@ -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/",