From 12342ae690014d04dac8d2ef10f8f9a52f32038f Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 9 Nov 2022 17:27:19 +1300 Subject: [PATCH 01/38] Bump version to 2022.12.0-dev --- Doxygen | 2 +- _static/version | 2 +- conf.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Doxygen b/Doxygen index b489df92e..84430a27e 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 = 2022.11.0-dev +PROJECT_NUMBER = 2022.12.0-dev # 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/_static/version b/_static/version index 17d938bba..4d86bb449 100644 --- a/_static/version +++ b/_static/version @@ -1 +1 @@ -2022.11.0-dev \ No newline at end of file +2022.12.0-dev \ No newline at end of file diff --git a/conf.py b/conf.py index 4743aa159..0c9e42adb 100644 --- a/conf.py +++ b/conf.py @@ -67,9 +67,9 @@ author = "ESPHome" # built documents. # # The short X.Y version. -version = "2022.11" +version = "2022.12" # The full version, including alpha/beta/rc tags. -release = "2022.11.0-dev" +release = "2022.12.0-dev" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From 11493c2a4b41d41cd2abab43dfadda3b6656c8e3 Mon Sep 17 00:00:00 2001 From: Gilles van den Hoven Date: Wed, 9 Nov 2022 23:07:16 +0100 Subject: [PATCH 02/38] Updates for new functionality of the EZO component. (#2133) Co-authored-by: Steve HOLWEG Co-authored-by: Samuel Sieb --- components/sensor/ezo.rst | 135 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 131 insertions(+), 4 deletions(-) diff --git a/components/sensor/ezo.rst b/components/sensor/ezo.rst index 042722250..fd7e2b7a4 100644 --- a/components/sensor/ezo.rst +++ b/components/sensor/ezo.rst @@ -9,6 +9,8 @@ EZO sensor circuits The ``ezo`` sensor platform allows you to use your EZO sensor circuits with ESPHome. The :ref:`I²C Bus ` is required to be set up in your configuration for this sensor to work. +All embedded solutions from EZO can be found `here `__. +If a certain command is not supported directly, it can be executed with the ``send_custom()`` method call. .. figure:: images/ezo-ph-circuit.png :align: center @@ -43,20 +45,145 @@ Configuration variables: - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. - All other options from :ref:`Sensor `. +.. _evo_callbacks: + +Callbacks +--------- + +- **on_led:** : Triggered when the result of ``get_led_state()`` is ready. The LED state is provided as a boolean variable named ``x``. +- **on_device_information:** : Triggered when the result of ``get_device_information()`` is ready. The result is provided as a ``std::string`` variable named ``x``. +- **on_slope:** : Triggered when the result of ``get_slope()`` is ready. The result is provided as a ``std::string`` variable named ``x``. +- **on_calibration:** : Triggered when the result of ``get_calibration()`` is ready. The result is provided as a ``std::string`` variable named ``x``. +- **on_t:** : Triggered when the result of ``get_t()`` is ready. The result is provided as a ``std::string`` variable named ``x``. +- **on_custom:** : Triggered when the result of ``get_custom()`` is ready. The result is provided as a ``std::string`` variable named ``x``. + +.. _evo_lambda_calls: + lambda calls ------------ -From :ref:`lambdas `, you can set the temperature compensation for the -sensors that support that option. +From :ref:`lambdas `, you can interact with the sensor in various ways. For any ``get`` command a trigger will be called with the information retrieved from the sensor. See :ref:`evo_callbacks`. For more information on the command specifics, refer to the datasheet. -- ``set_tempcomp_value()``: Send the given temperature to the sensor. +- ``set_i2c(uint8_t address)``: Set I2C address of the device, must be an integer between 1 and 127 + + .. code-block:: cpp + + id(ph_ezo).set_i2c(100); + + +- ``get_device_information()``: Sensor retrieves calibration and triggers ``on_device_information:`` once done + + .. code-block:: cpp + + id(ph_ezo).get_device_information(); + + +- ``set_sleep()``: Put the device to sleep + + .. code-block:: cpp + + id(ph_ezo).set_sleep(); + + +- ``get_state()``: Performs a read on the current sensor. + + .. code-block:: cpp + + id(ph_ezo).get_state(); + + +- ``get_slope()``: Sensor retrieves slope and triggers ``on_slope:`` once done + + .. code-block:: cpp + + id(ph_ezo).get_slope(); + + +- ``get_t()``: Sensor retrieves temperature compensation value (in Celcius) and triggers ``on_t:`` once done + + .. code-block:: cpp + + id(ph_ezo).get_t(); + + +- ``set_t(float value)``: Send the given temperature (in Celcius) to the sensor. + + .. code-block:: cpp + + id(ph_ezo).set_t("27.00"); + + +- ``set_tempcomp_value(float temp)``: Send the given temperature (in Celcius) to the sensor (this is an alias of `set_t()` for backwards compatibility) .. code-block:: cpp - // Within a lambda, set the temperature compensation value from the temperature sensor id(ph_ezo).set_tempcomp_value(id(rtd_ezo).state); +- ``get_calibration()``: Sensor retrieves calibration and triggers ``on_calibration:`` once done + + .. code-block:: cpp + + id(ph_ezo).get_calibration(); + + +- ``set_calibration_generic(float value)``: Sets the calibration with no point. + + .. code-block:: cpp + + id(ph_ezo).set_calibration_generic(750.0); + + +- ``set_calibration_point_low(float value)``: Sets the low calibration point. + + .. code-block:: cpp + + id(ph_ezo).set_calibration_point_low(4.00); + + +- ``set_calibration_point_mid(float value)``: Sets the medium calibration point. + + .. code-block:: cpp + + id(ph_ezo).set_calibration_point_mid(7.00); + + +- ``set_calibration_point_high(float value)``: Sets the high calibration point. + + .. code-block:: cpp + + id(ph_ezo).set_calibration_point_low(10.00); + + +- ``clear_calibration()``: Clears all calibration points. + + .. code-block:: cpp + + id(ph_ezo).clear_calibration(); + + +- ``get_led_state()``: Sensor LED state and triggers ``on_led:`` once done + + .. code-block:: cpp + + id(ph_ezo).get_led_state(); + + +- ``set_led_state(bool on)``: Sensor LED on or off + + .. code-block:: cpp + + id(ph_ezo).set_led_state(true); + + +- ``send_custom(const std::string &payload, uint16_t delay_ms = 300, bool response_expected = false)``: Runs a custom command. This sends exactly what is in ``payload``. Optionally you can set a ``delay`` and if a response is expected that should be parsed. Defaults to ``false`` for custom commands. Triggers ``on_custom:`` if there's a response. + + .. code-block:: cpp + + // Run a custom command to turn on the LED + id(ph_ezo).send_custom("L,1"); + + See Also -------- From b346a1bed4b946346014aca25171f71458bf722d Mon Sep 17 00:00:00 2001 From: Guillermo Ruffino Date: Tue, 15 Nov 2022 11:27:56 -0300 Subject: [PATCH 03/38] better error messages (#2374) --- schema_doc.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/schema_doc.py b/schema_doc.py index c69f451d5..4cce753f7 100644 --- a/schema_doc.py +++ b/schema_doc.py @@ -620,9 +620,15 @@ class SchemaGeneratorVisitor(nodes.NodeVisitor): component_parts = split_text[0].split(".") if len(component_parts) == 3: - cv = get_component_file(self.app, component_parts[1])[ - component_parts[1] + "." + component_parts[0] - ][split_text[1].lower()][component_parts[2]] + try: + cv = get_component_file(self.app, component_parts[1])[ + component_parts[1] + "." + component_parts[0] + ][split_text[1].lower()][component_parts[2]] + except KeyError: + logger.warn( + f"In {self.docname} cannot found schema of {title_text}" + ) + cv = None if cv is not None: cv["docs"] = description self.props = self.find_props(cv.get("schema", {})) @@ -934,7 +940,12 @@ class SchemaGeneratorVisitor(nodes.NodeVisitor): # this is e.g. when a property has a list inside, and the list inside are the options. # just validate **prop_name** s3 = re.search(r"\* \*\*(\w*)\*\*:\s", name_type) - prop_name = s3.group(1) + if s3 is not None: + prop_name = s3.group(1) + else: + logger.info( + f"In '{self.docname} {self.previous_title_text} Invalid list format: {node.rawsource}" + ) param_type = None else: logger.info( @@ -1150,9 +1161,10 @@ def handle_component(app, doctree, docname): doctree.walkabout(v) except Exception as e: err_str = f"In {docname}.rst: {str(e)}" - logger.warning(err_str) - # print stack + # if you put a breakpoint here get call-stack in the console by entering + # import traceback # traceback.print_exc() + logger.warning(err_str) def build_finished(app, exception): From 1b0f08d96a58437482c3c43985479498ab633e12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Tue, 15 Nov 2022 20:14:23 +0100 Subject: [PATCH 04/38] Add reset_reason text sensor to debug component (#2302) --- components/debug.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/components/debug.rst b/components/debug.rst index 4c63451fc..47fcdabb7 100644 --- a/components/debug.rst +++ b/components/debug.rst @@ -25,6 +25,8 @@ ESP heap memory (free space, maximum free block size and fragmentation level) an - platform: debug device: name: "Device Info" + reset_reason: + name: "Reset Reason" sensor: - platform: debug @@ -70,6 +72,13 @@ Configuration variables: - **name** (**Required**, string): The name of the sensor. - All other options from :ref:`Text Sensor `. +- **reset_reason** (*Optional*): Reports the last reboot reason in a human-readable form. + + Accepts these options: + + - **name** (**Required**, string): The name of the sensor. + - All other options from :ref:`Text Sensor `. + Sensor ------- Configuration variables: From 2f178ec7a8464e29e758c9ed6cb99a61742ec321 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=2E=20=C3=81rkosi=20R=C3=B3bert?= Date: Wed, 16 Nov 2022 00:28:38 +0100 Subject: [PATCH 05/38] Cleaner images for LCD Menu component, nicer back arrow character (#2441) Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com> --- components/display_menu/images/lcd_menu.png | Bin 74174 -> 4095 bytes components/display_menu/lcd_menu.rst | 26 +++++++++++--------- images/lcd_menu.png | Bin 8588 -> 2702 bytes 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/components/display_menu/images/lcd_menu.png b/components/display_menu/images/lcd_menu.png index 482f0ad431c9f396a29fdf5dcaa1c590befa87fc..be3ebd427470a2fb4a99e7076b3eebed5ae83a5c 100644 GIT binary patch literal 4095 zcmeHKYgAL&6-LF{$cUXrvUED;9?l%sgM{mJmeJ;64Q%o)=XPRie1jH_O7+>S^J!` z_c>?pefHU3s-LgVyt$ThO-xMYQ8s%~O-z0Ro0!aWF`b3=;3WrYu;w$rZ2{ghX3Q`e zjTkr0FOoMQH8Gign&Rai5SP;@cMmCC|GQI-m#xkYu)qKQi;PyAVjf{}ie_CO&jLBC zbslkhNBQ8VOE${fw;Cmhvq`;fMbOp@2NWG^iT+NlS}#L(*qQ$SQ5tU-5x&-13P6zp1QPT8irj!Sh4sNHq+( zcFwWkTqCcD*zYlwA)KT?t(MJRxl&}`+Gc$a7*M9bd(+|johO}vG$}3yvSj05p$>0| zC~`;-3TVya*?vX**N*wV;EM>4+@B{7Tz$KR5A*jsvmfFBX5TgK16{e9SqLd3pvK=^ zo<popyE_Zz&ZjULTGgL6*p&?1 z^cKTU*vsf|c;d1-2S~0e!|p+G-UwQ24uE;Xx?P~Sh+oIpLl>&XP>1-(>cc>L9!zYA zXI|w$qc!(9i9{{Yi4g3f9K8XDZwEQbYRQh~KIG6)j$95^y1uLAt@re!q?)^=W63dI zD_u|CBa71$nrQe9A7_DgcKOzUKc=NtxKZ~ZR< zxVZceN|x_j9xS!?o`fZ1t@`~;sk&NCzw|2kOmG)>BDYK*l`?!q)aeO6Q10;sKZWdm zh_wd(m__#mlMSVX{GOqD1o^fz2EDMGsJ@?@37?lv?y&a8qhl63~jNO z=D>3&f_=cc-YgnzpHwZdtIM8d&dZ` zh#$)p@|OY@0_6He5GwYg9XJM~0r~ugGXVtg058slsI+9*&J5-8=K_HXvFvF96|eN; zz;783Vn!!}o_%?%O#Y(P_WLwBa4vMW-0H%4~5=~8L!ePsqq%21Cr zgoOtIv5v&YNuRrf8if_wY{Fw5OI5WZOts}m(h`+sgE-vSrYH|&#O{Coh;;YFm=w;I zYP(AYvLsdiSM;me=uF}rR|H431Of@ag{9q&?DZp#siekw>%8nZsVw~p;LVW8dew`J z*4%RVC~_!j8x|=y`Yxj=f$wxrH`GXkpzuT@Fq(46_nIWBEER^IiEE&kF0jXVpRS)sc+TiX>UPT)9DYD+NBijIJ7NQ?ysI zj%Cvvl!yBz z!)B#AE0&_|6-!1sBkNtHXE5Tto>Ph|`yK^ueb4U!tZm_8Jn}a#tWy>vY(9))e9Rb)X50;oHUw}mp8uGIi3#~{E<;of+~JS^ z7OSFu%=Q9%qqllp7Tsoytk@*!cTQIX-E1SZ&lxS`uIw9CuQ;^lUQdgCYE61YhN$Xs zp?0CYhN5vdyd-T+H0ZX#JJ-bD*cvjhKfFg>IvgrVu4gte{oHhQO?#x0Ohw?fJ$;$2 z6JJ|tE7dM=M0XT7nt-OWu9wM0B3`@&XJ^&&|AA$1lG->^!GT|T;oboc7x0ko>HgvL z%V}MnQ=$c|=*L6Hv#FEy-zSC5gphNRM`c&4P^Y*wW<|ygzCJ}Lf$zI<;t2Ys5EXAb9g-Fh$0x7~pbln{dlr+2 zj@Y-xWjeQsbYHBqTw6}xH=pd^ix1?$0_;uS>^}{vsC)}ori72vikJ6e(1!;>4DQ;E zZ!{t}4{Yzx0Bt&cBJYvP}r pICYzm*XjG+SKs~q-%+}>)_AtEJa*CTQ}oFpinp&q{{RAH5r_Z) literal 74174 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%0A0^fvv3&fgi)^;b?}Hx&ImK=U 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 +- :doc:`/components/sensor/rotary_encoder` +- :doc:`/components/binary_sensor/index` - :apiref:`lcd_menu/lcd_menu.h` diff --git a/images/lcd_menu.png b/images/lcd_menu.png index 979951e437265abbb2fa5d1cae5a950a54982dd2..7ab9c2fbb38ba6cbd21f305e86fb54025432d9c1 100644 GIT binary patch literal 2702 zcmV;93UT#`P))fM-=eq@kL)G#ze964!A^U*eC zPbu0wm%v&PSQ&*-QG_0&WfY+*U6c(lj7(WbvB_3gt5I#*Tt(gfh=wv1nU+q$RTF~N zLeu#p&)>(M$tE#nWmDBZ_=8A0=e|$-z2~U4YbU7ZkNZA+?|Hv>?(d#^&b`kT%XRrO zNbR2&nRGH(K3HUuV8*I83cZlIR#qE?UPhKKETJMu@+2Qt&{}J8Y$&J_T~wnnBo?FN*$y$+`PRBt!wKyEhnYH3ytq7{8x~$6vTsl}m1=blERvlwubz#L? zUV8c2XYhpQh0xoX7X<3P)H-??y~Fsmg*p8R>W>#C)kNkJy;o7tXFVF6Brim#?WdER9ql zB-O|gj^(Q$O9NJ>vB_pzt6m@WQP~&Jv^d6>_(+?raU&i+u{AaVTylx}!{^RTn!^g! zGM}JG?--SNlaED<@oL23uzm#(H=VIsF@5&oX=e}YK-XjnOYk?W%H=e{RgPW;E@_dJ zY^}qGZoM7gi92%*4dY;=2cXG94Gm4Eu-H_s7v@T2DcxFjMU90&kV^j#Z6#o zJ8_^qum&VpJ$PV+VByVRg+FA6>;)`hs{tl$K6Lr(`fUAl8@Y-;K%dk2{Ynj3d-F{;H z2_8adD9E+}tU8PhQn&W)rgr1GTmy3T*!aW5)vK4oj1p|*G=XjRTPLI;WlnkKAU3Gh zg5G|*%eW=K4V%lgJh)ORpgcZjA!|XxIxsQ@VL~)RdH4SqtWKAv*}zCyU@4SOuUK#- zGD)vR%75V^%EKRgbcaz=STFv}xH?$^EDhx+`7d0MYVC7r^qawAL33x1X(tlKlB_ka zQG;GSQ?p7T7pwvXDD5SS+wfG&CH_p+$w;;9;`vsylOby8q5z z3U+e2qv+)i5u#OBk4jPl?_gj9useXKyK!QvBB!<22(F4k*cXVE_=eJ`9%F~{~E`$~Hct?H8&D4-|^0|Q;S;B8n8TSl( zc>`F&R#N_PL7U&$^?H6}^o;NaR6a^k?4yb`Q}>#qk>%ZWKakG0YVNAA$cDPi$H@A| zoyeASc98QuUMJsFIW#aGYk*;Xg^81}gPj1i6F1_{` z#TyW&#q&qTBF;I^AArLt*yDAwwdBneIf8I# zCm)ByAZ-)(kR)qKb6DCcM^X+|4Lyft)w0YKvDU7Gf)`F5ocW~$YpB`HlAUkPQ+d|C z=2bkn-NUZ~bZN(gB5A6CYOpx<;0*HD-49{UP&13Iyl$qZi`3wAc99xIM9NbwJuJvR zwDmH+S@gcC%kz*V7AC)k#VvNkNW{(DC&-jEru_G*lqjFxMpoFSQl6=KKvHwr2f}u> zC3_A?W3CXEt+ta{ipYC<}QZr;7@_K??y}ZiiM7 zn*#9zN#v^gJW-J-pBY5TdjMy32NnezEwKJzO)iHd5JA3&wNU_^Nh<7T!c zWyh;hUaCM`CCYEryqTz6rTn`h<>~2IJFJWxM)?Prnv|CEMZLUg*Wite@=O%#OMZoF zQ77txW_jDjTBs9E^2EKQ$2m89`eaXJ-z<09h1Z|$*?$p){hXis7gq55=jO21 zNsb-zCA*Q^f{)(kr1tV;fh|vOc}7vQ#m~(>&6usB{F8TYoFy|l=ZdTbYBpCiDMp@` zXSE7Z&gAQ-JaLQS{@xN z3~bK2p}O6w7?1o&9P^ zKCI}zIVnJ9S1r}S1jRR3VvEIE@*FEl;+~4bk)^=Pi|#r68W!m{LLT_sU561#mup57 z%Ln4*<(nyaI9vA5Nuq-Wu!4D;D@gfXoXqGOo49t_EvQ{DD>p2oPZlH2qtAWYC2y`o zTaNhs-0v}H{_CvsC_IOGqVotG`#0xw{!ZEm43ry|;M~jWVCAP6Su2KB$(8K;EzL^v z$aKLHae2k!(!+{AG`Op4{n2-tQfigCj;(toC`je~tu+{|h zut?$uB+6$ge#!m87H+Q4GG2wed zLGxmf>#(jw7BQ?v`e!Z6HJCz56ZY3OOYMt`OwL%Y%a=j^4h|P);M0v02c886ZQZ9p8_`T z04wtV8Swxz@&Q5a|No8u|D^yE_y8mI0zK#eA@BeHs{jr403Y@gQ04$j>;N+E0Xy#i zEbRnC=l}n*AzR=83Hks3xqG132vh0*|A$_T#!rIS9a7{BL+dGa;_maH|Nnm=TIOAf z)hSr%rT{qRHF(!mjo9Pyx*JaGVv*AJ z{j|m5wT86G{Q0H_Q{i8n$I0TWM1|3mwz%H!uoq(HHgw%9^P7>j%)QsA3Oek=*Uy*1!BLdZH+$cN zrQD9Z!h)^AtHsBRs=Cys&AUv{`Qb7bk~Zh$eg~fvCOA!qR||5 z+;E}3(&eJh;IQlTsqXozwAIFaoxk+`r)HVcX`shTc+#o8uE*4_-shVFO6DMF*Z==* z0Ws!up~}nXwN#$a>+h)A%kGr^ulftCNsGqyl*xH%w?~pf& z(O;m@;pL3;?Ss9`wanVLk)FG#%*p=xhQZsgywJ$T*QYR7*?5w|U4hFmgWS;FrK`ES zo~Ojw=g$A_g2mUGG;QH7PvAI+;jFN>|MhoZbJo?^s{kYDyy91C0016GNklyA-G#{D5W^mpr!8a?(XjH?(Xj1>+bek|FcWl zON*rU^}YX(^10vG$ zzB*vD5&vrls*nYU`V1Guoo*dh0*U{R5GaWH3>w)Ps}11IHT3NvGS(}Tl)ll~AZUlf z+K52^O(tnn`SV2mfRcCvu#6p~BPvKj2t;p3R`se#fjHs+8c1q`z`>=6q#&)RD7Gjz zHg>rQv&A)WwE(f<8_rn)A{ruSFlx^zl6F9-NHNpm>+0+3>T8**7t~4>24pgH2h+rm zXozrf|HbfkKc~7)1QEt(uIJAuB_;LUJJmx`m-k0ZnI$t&EFc;n6#x9;nCrz+|D;8A zU!L1c%jh2AJ;K9JWPCByq(p=OVjw7Z)%|m1{iHk3k%bU!ShfhM3%)wn?ykD-7o1Sl z=I1pa5OCH~)?BGf}ms#%yZGv z7cXYIp8wb1FD!-xMlG$hK;$;Fdr>1dg@;F@<=u~klaLKRR8etg>fs`Q5XWUjO6!!? zXA)@wQCqMXHi1My%GMGVH6Xn@lKJK7fB#+grH}2RWt1G&u35;~)v~3D3#VB*ShFNF z6Qx$E)f)44Co!(BPu8e4ctf1GkY>tsnSl~QAEPtRmBEHXmi!0v-&vHHrwdn|lGUf6%=rC)WM*0*Pwv@*~1J$MuW!wHQf>EG@zu00e1;0v09p>Y=|i z@-j^bpg^Dm1SSjnEPbMC(P=p#8WLD%A*8To$swa>1uvLU)Ih7YtEIcaVzG4BMS4l3 z99b0S;PoSXEhj^Inr}$#T}Ga)xE@{=>WNkY5)BCm3J~=r)+~FUuU5?>jgz{M-jdos zH8nN1bZP*g$?$Fqi;KIhyw-j12(PJ{8vx07)zV?$tlrTjgp_D#K-4dW_ZV1p zOHBrAonuM$QZ{Se%sEGWyocDwZ@EFo!Qz{J(rbhIsNLcyIl=VT=?tpK5JpNgK(hYu z8d;(mDiJO-En}N0Xa()E{O)%r8i$YBSzKJabi%5Em@L^j%?%+!oJuC=EtaKbXRcb+ zd-fOtH87?iq{Z05Gtfaj5{C|{657RuZWJ|q_lc(S{xnVD;^N{VDe}!8D;umjN^(Xg z_4q;^>DOPE=^fHq{V&KiEVckeHPQc~`;w}9S+GX3=2*5gYu2byV@1y0MS&id|1{0$ z=4N&Ci1j@aAioQ<>yCEn>uY;{^39& zlo}HwM@NpH*4v6p0uqnd03sB#6Bm=H0l6&O1s;&73Kya#P;w_Z2bqxIK{6D@I5CWz zkJEviFXm)K>gD{wnFf}101}BrC=|X)b{xJoV1cS`KmxmLFR}0Of-8jKc$Bcd0||J% zzO}|Hsw0)>=wbm0!0TF8B{dC*cMFcMUE)-`Q31NH;TkEeuv)FP6AG=icbF~_s-|mz zUbZTxmLL;}mp>XUM73wl%ID0RG^w^kAkFqa+l_dKQO(0Z*0ei5ua*EqAQ^n>sIqp& zku8jW{B=YyRWn&^$ZgdZh(PZyS+H6JA26qTu+uA>5f9GH8lU^q4UrUac%=+g%52M& z{Nn?nYYb2YU|m#chid}RfHX@$YP;&jzDgG0@j|m23kVY9*D{hTw6o<`GV*C~O=Kad z;-Mzf@C*{D;jo2BZ7QRrt-6DY;XAK0wk?a_;MGG_ij7qh138q=-NQ#n2&( zb}#xSy--Y7R&JBDAh>3-qzdT+3nmM_yUk%W*TQ=5F^rYNDm^7`bjPfUn5bt6$>2fn z%Vo1pjUV(_8^R(|-*|2O=J==Th`Avws3a>}J*JlC0qJjBzId0-u-aS(#I~68iWwp{ zrXn&D_XbCoM`@e)9KXHwgIm)^PhD1#k{}FkT~S_fry{DnqC90eML%{ljArDDbsZV;XKlNFB#Lng(%>()l+93Oz`e_fnGajJUUx}Dx z1&G%y)fjm#n&p1mG9T9=8jNaTvbyT>Ub$QtU^2y+0%Hd(7$Mv6*`F6J>etB4!!+sf zImu58cJB=LZxh}oyqjvCove+u`78o4vwdgK;9Vx`HMWrWHL_@`f8RYrhNKS|a(DMh z=M53>hnw6ynl>`cF>g@*tzf~%xXgVUlj43JKG059(!O8{)nV9R-yR@Rcql|I&PEKD{7p4}q`5#?lL7HP&G5O6jBgXK7itHXL8EQa&mIYre?;CkewU9&E$sR(PGm0bIoE0eAj#3 zUuO63-~TV`k_CL6)uwM!Gz)9#8^+%IR)OAOvXH2{W*PGIBr6t+SusflOggp8%h_4x z9MVrW@}zA2p!eMxD;p~*?BEAG|4lto8>08aaQCFRoe94-zPbcIlBfx!-}0dOB=Zhu zXhi7sILkCgcPFN#BrPT_t;9sSZP@;CzY!yf`W4;kz&ZHM@9*r_reD8)McpR-BRnz*1=peZe7iBhP`pB=?q5}vq>``E^ectTXnC6 zfXkAgv-^^|gs#I?-$l?hO+hww)g4r2t5w;mY(pxFgWI+p(UyaiHDS3;o3`NzolzwNG130f{{9J-qpZN{&m#a3)d7s1 zW7=ULq9H*{QF07Q?o>IClw_Q!N&rYQlpRDRSS;cl?Cg*fk6Ii&D`YWZVqyRNNHqAt!|BmC>E`s;mDSM@)I%460vbi76p+ zl%gR6mL2~1$n@#c%kXO~U1ewE?2%vcgs^U348`Fa4S8PN+z**tMgfAQz)Py7%Ju4_Qi6RMI&cDs2#R?bI*9QW zh96~R8J6Iyvb?@B)C*#8akYFz%TU*QzG3e5hb&0lP=6UBal~kNZihSx4J#o4Ek*=X zW>skawpPg}nm$q@re(sI&IsX6$t_zZXi2(rf&vKezQ7pmpWHH`Fa{GSjVWvgP)u@k zatY!}#2ck%QW!rSecl@ z5E6)VTdE%ATuIiapWz9(>g~2hLp48t_Mx_kh>9Km*@v4Wy-eww^SqQ&X=AU+n&WYC zLo{1GMTD@M`Z?WbwQ9)7bZ?v=YIC11ll71LxzY@&)+2EnQ60je2V2*VOcw&)N9J<)q5HpnoO@a+ zaL^*koSdDhkTT78r#&v4r}3J_By=b^>2+B1zIP)Jg@=nN7kl>p|M(QI3On_oRlar5 z`?i4H|M)0=bHt#{gT}`{4wes%-=>!XgvbC+vzD7HHA|qsA2F;ZvcR{7dSZqI63U!q zIFbInA@j5sKn^;*2x8D|f8BQ-Jtho~6hp3RQHQvb&Yx)J1$ZbhSpm5bk^0!rJ`L2* z{^+Q}IVFA@ZTjxB?~Z@>^M}Wde|LPhzjL>UJ|vB}Heyf2Xjy;NZk{X!y;VIAg6edE z)rKGIhi2JBX=}%^7r(TjmwE;3nt)4-m+OvcJ+K)HX<8h0?AYA}C!Kd_t{X8~ZXN-- zX5I_~#kAHcrBdSGx0$~A`i`5CgVkt6LXIrXqx&@dVtj9X|B<_KqbN0A8nWo=b!koM zo7I}u6iw6@An~Z~qdeIv|EjdMsonS?7klMsc6anxsm}KjQ(jvmhHoB^bMTsh#%6dm zN^{c}=19NgUw;}S5s&~nk2|&97O-*9kq}0Y!H^^&Ss1^Kz1b;v^%Gu$cM;ApM8GYnVRPWIr-^sHnNBo#GIuqf zx-N$T;gvzdd-Ei^E{a5C% z{`S5NpnA0Smv9K6u-R-1?)h>9q!mC4Xj%#cR-4U=UpA=ZOI%*mY1Wv)kTg>&l|ZSK zVwwEa;BA-z0RRM0HkJ}nf~;w=0RnhOp^|vV0F(s4AYQfv00ZGKz%Jv<0+of}rP5Z` zMVJdL@n5RlpN=czO9ZuMY!UIU0aiiP1v&ONI~?EM5Lbe*@+GR4^?M80k6A6>_;wIL z9s=UGKuS<@27{uw;lj6BSC2^UAQFZG1Wy*lkpB&~06sZ)#`8tK5z82Q7QH1`Vi|Xj z9k~Skwt34%8MuF!k(1NA_p&WC_|JcyG?gz~_Q|qCxA>V`farhdzi`JIL|P{wN<0)* zk;u0N5UgvRSdo~xDVaoXcUasX##3jf1;5cLN=Y9nznAH(#ns|!Fu3Y0x&eU_!GFGb z_AffM$~@A%&s&JNi=1zmtcPz+mS=LPtFPgp&bLI&{RPw$RRI^wg!!Sju>vSRU{&HQ%t{7Z{TBqfaA-PX?d;@OO~6;`9*tqwaE2TT(`9DaaBj$JzC-}SN;V1b+Y zm(x+p!y8{FA8sJ@+Hy?Z&GMTOtdwhlHE@<{g4J4Sk*s?sz7EZT0U);QD- zMvfSqV$cdnO31c2Ysu3SLJkr@5Mn2x0Q-Dr8AV`-`HxC>Ek-0Gcfub8!w6B0T?Tr; zYO9{70Juw^7!rT&{2?Dt%F~l^r?^7a-P6;PK%~3p8>m3%tRQY#f|N7KF+oAei~s- zxaMlv@bXk(nrX=s(>&(_0U=sGA(&NU||Z4<1>1QObc5-XTZvF?O!_748%I>>xX)xO7+Pfi-ss1liy< zKSE()$`1!p7K0Z75@Zjk4%F?l5Np~yyhliXUAoq5gL)us;xvoorj(Lg%3$EBU4A%W z{Pn4cBt-}Z$8T25)odZJ3=l0$>WP>8}{{M>$h^omKbgI#z;WGrJ8&OVu_8ubS3xvwQt99m81lS@h^XJ<*U^T zzfFuOK|bTUOuFKMJFwqqV@c?((}CXJ-ltQu z{urYV3tH&u^FgZz?usR?GAQJLtgL&<6s(jJ?(GZqTh}G2Q&4))d@VUkvpc(QAOjfh z^n=s=GP2k9INh;hNAHdkRFiDlNvfV$?AY=2h}{EH^^sqH`swC8y$|WxM^!3DcCv~c zktHR7vguMocUMiyCWv6EVNUJensegAK?d~ ziF)Ibpz^wBhd@kLR!cisRLd@1Fj=AZFj?7W1IbycA=!OnSQ-SZweWD{&CUA-ExQ)U0r)_ zNlhI)Hg7RNK5m!)ba_iO5I}MGkmEa>pBr9jh9F>;YMDMZsaKjlqu`O1IW+QlO=Q89 z7GAUX9N@JsQM|K9kksz)yY$M!g;y4Swe;cq9`0eGVI*-sD~d5*>XPF?v)FbIUzj1J z5+1H?i_I`Oy7QSXa{|FN%gV9Q2%A6ZJZ7&hW)hJ$u_vHZB<_^-D(uaAGkkpKhOKsI zOwdb$Ho0S&q)4InAA>dq1qFqMhIR>U743e%)qNlGW~*|}49gvn)j6xx7{;zy30a{D zlz^p#ev^Y9o)GN!?dC47?B6m3lVOQdskw*wskxW8wpYaC2(>xF93K&(?(H`<{yQk= znksRz>cyAB`MLg^*up!fDng!>?Nj zBsInUG-)_C!;QVtm@!v2(bT4cOKZ?9DY~LNLn3>h?#jJ#Pl&+cmNBIEt4`fkYzkWu zwqnzY+g6{jtQ|h&>=i9px0_iR6s*(1vhC(Sw1*B*>_7iuTP!1*&A9g@5MJrB!w0^| zMKJyM_F6e~)zEImD_0HOp$(XH_x(QjwrRUAuew|ut?&JKyOt1eeu~p9X=Ui(l)pLB zLH|w)gc2bB$?}a>2!M#fL1~#x00;s|0U(Xn;(JO2yk^CX-|75``jM3sxG&F+%TyiK z$7T;mlaLI9Ji~O?s*xo{fcVOH97EWh`jenTo(Or~ZgtZ~`y@2OkMhL8Z@_0ot8qSv zau*V`V+ZfkE-NdU(^dhOjn2x#n#F}C4}#_giuU`Cd$~8nn$`D&o~1CbGLr#a)rT3@ zhm}yQm<7}_?8X4Mr+AgB4K+F5Ao6hrP8H+8ROhLA1UKj)jhxldMV z`4$FPy_YXpy?V)Cv{rzO#>w-q+`RPFlJ*oPYZK-V@!EIO5m^FEP^WK~++1?gN+JR+ zjtTqr%B9tpo?JWs#9MjAcSlvlSlo8$vw<^bJ(`qCAt@2ln>a&w0rJ0nGi>iu*g zPZsas1^6TC^Q%*a{j4c{BeDoFX@DqRRJJEDj{H`V(S)Tn==AB}xzMm$d zAmX{7+gbGneXJ$hpW?`(#u;YPuaSit_8?ss*Mq+IxS?nak>6zO&qLSgxo>_eLhrQ- zZPn@n&N5fDy6?%8MgOstqtJnEhj-)Jg%~kD4xlat;bR5`-3#gz*m#NW!YWiF)@7|` zq-LZ_!?nUv;I~6<#tuH>8yY~*Wf4QPB(GU3Rr4T$sN%|bw0(R;Z=U=^Qny)a1#F0p#T5+fnT&w{M?JA}mjCY5zmlwT~ekcvv^Q+vLf&XWIaOx?^rX z*tBU=7~WtNt_y2fb#Fwp4{IIPx^&SX?aOcg2bZ6~*csfo!lb)4$@ynhsphWm^L{;F!@p$=@Vv1rZF{kBX83SIX zPk6&(9T@Aw_R Date: Wed, 16 Nov 2022 15:46:36 +1300 Subject: [PATCH 06/38] Updates for runtime entered wifi credentials (#2443) --- components/captive_portal.rst | 10 ++-------- components/wifi.rst | 9 +++++++++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/components/captive_portal.rst b/components/captive_portal.rst index dfc6d5974..4b2543347 100644 --- a/components/captive_portal.rst +++ b/components/captive_portal.rst @@ -16,7 +16,7 @@ After 1 minute of unsuccessful WiFi connection attempts, the ESP will start a Wi :width: 70.0% In this web interface, you can manually override the WiFi settings of the device (please note -this will be overwritten by any subsequent upload (unless ``keep_user_credentials`` is enabled) so make sure to also update your YAML configuration). +this will be overwritten by any subsequent upload so make sure to also update your YAML configuration). Additionally, you can upload a new firmware file. @@ -34,16 +34,10 @@ manually in your browser. password: !secret wifi_ap_password captive_portal: - # Set to true to preserve captive_portal credentials over OTA updates - # Note that you can't set STA credentials in YAML if you're using this - keep_user_credentials: false -Configuration variables: ------------------------- +No configuration variables. -- **keep_user_credentials** (*Optional*, boolean): Do not erase WiFi credentials entered using :doc:`captive_portal` over subsequent OTA updates. - Note: WiFi STA credentials cannot be set in YAML when using this. See Also -------- diff --git a/components/wifi.rst b/components/wifi.rst index bfc2378e5..4899a2303 100644 --- a/components/wifi.rst +++ b/components/wifi.rst @@ -120,6 +120,15 @@ devices name as the ssid with no password. ap: password: "W1PBGyrokfLz" +User Entered Credentials +------------------------ + +Some components such as :doc:`captive_portal`, :doc:`improv_serial` and :doc:`esp32_improv` +enable the user to send and save Wi-Fi credentials to the device. Beginning in 2022.11.0, +as long as no credentials are set in the config file, and firmware is uploaded without erasing +the flash (via OTA), the device will keep the saved credentials. + + .. _wifi-manual_ip: Manual IPs From 50938aab5f26906a81b9606e722ba68d53d2f6e4 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Thu, 17 Nov 2022 13:51:15 +1300 Subject: [PATCH 07/38] Add notes for ADC on RP2040 (#2446) --- components/sensor/adc.rst | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/components/sensor/adc.rst b/components/sensor/adc.rst index 21fa50d61..a8c03e99c 100644 --- a/components/sensor/adc.rst +++ b/components/sensor/adc.rst @@ -6,9 +6,12 @@ Analog To Digital Sensor :image: flash.svg The Analog To Digital (``adc``) Sensor allows you to use the built-in -ADC in your device to measure a voltage on certain pins. On the ESP8266 -only pin A0 (GPIO17) supports this. On the ESP32 pins GPIO32 through -GPIO39 can be used. +ADC in your device to measure a voltage on certain pins. + +- ESP8266: Only pin A0 (GPIO17) can be used. +- ESP32: GPIO32 through GPIO39 can be used. +- RP2040: GPIO26 through GPIO29 can be used. + .. figure:: images/adc-ui.png :align: center @@ -105,7 +108,7 @@ To measure the VCC voltage, set ``pin:`` to ``VCC`` and make sure nothing is con .. note:: To avoid confusion: It measures the voltage at the chip, and not at the VCC pin of the board. It should usually be around 3.3V. - + .. code-block:: yaml sensor: @@ -113,6 +116,22 @@ To measure the VCC voltage, set ``pin:`` to ``VCC`` and make sure nothing is con pin: VCC name: "VCC Voltage" +RP2040 Internal Core Temperature +-------------------------------- + +The RP2040 has an internal temperature sensor that can be used to measure the core temperature. This sensor is not available on the GPIO pins, but is available on the internal ADC. +The below code is how you can access the temperature and expose as a sensor. The filter values are taken from the RP2040 datasheet to calculate Voltage to Celcius. + +.. code-block:: yaml + + sensor: + - platform: adc + pin: TEMPERATURE + name: "Core Temperature" + unit_of_measurement: "°C" + filters: + - lambda: return 27 - (x - 0.706f) / 0.001721f; + Multiple ADC Sensors --------------------- From 55c12a1366fec2728c8aae1ce46754e8badde1f2 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 17 Nov 2022 20:01:32 +0100 Subject: [PATCH 08/38] Add number device class support (#2457) --- components/number/index.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/components/number/index.rst b/components/number/index.rst index 0ed07ad20..e3a708bcc 100644 --- a/components/number/index.rst +++ b/components/number/index.rst @@ -48,6 +48,9 @@ Configuration variables: See https://developers.home-assistant.io/docs/core/entity/number/#properties for a list of available options. Requires Home Assistant Core 2021.12 or newer. Defaults to ``"auto"``. +- **device_class** (*Optional*, string): The device class for the number. + See https://developers.home-assistant.io/docs/core/entity/number/#available-device-classes + for a list of available options. Automations: From c161e670a91e74a61c426affe18583bf637c444a Mon Sep 17 00:00:00 2001 From: Alex Reid Date: Tue, 22 Nov 2022 18:53:51 -0500 Subject: [PATCH 09/38] feat: Doc to support templatable code for Midea IR (#2463) --- components/climate/climate_ir.rst | 1 + components/remote_transmitter.rst | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/components/climate/climate_ir.rst b/components/climate/climate_ir.rst index c60fa8b46..8484d2cc1 100644 --- a/components/climate/climate_ir.rst +++ b/components/climate/climate_ir.rst @@ -184,6 +184,7 @@ Configuration variables: .. note:: + - See :ref:`Transmit Midea` to send custom commands, including Follow Me mode. - See :ref:`Toshiba` below if you are looking for compatibility with Midea model MAP14HS1TBL or similar. diff --git a/components/remote_transmitter.rst b/components/remote_transmitter.rst index 366a9b19f..f2a36e405 100644 --- a/components/remote_transmitter.rst +++ b/components/remote_transmitter.rst @@ -207,10 +207,16 @@ This :ref:`action ` sends a 40-bit Midea code to a remote transmi on_...: - remote_transmitter.transmit_midea: code: [0xA2, 0x08, 0xFF, 0xFF, 0xFF] + + on_...: + - remote_transmitter.transmit_midea: + code: !lambda |- + // Send a FollowMe code with the current temperature. + return {0xA4, 0x82, 0x48, 0x7F, (uint8_t)(id(temp_sensor).state + 1)}; Configuration variables: -- **code** (**Required**, list): The 40-bit Midea code to send as a list of hex or integers. +- **code** (**Required**, list, :ref:`templatable `): The 40-bit Midea code to send as a list of hex or integers. - All other options from :ref:`remote_transmitter-transmit_action`. ``remote_transmitter.transmit_nec`` Action From 72e6385a3f0318f774d00a82c58b70d06b8328c3 Mon Sep 17 00:00:00 2001 From: Javier Peletier Date: Tue, 29 Nov 2022 22:05:43 +0100 Subject: [PATCH 10/38] move restore mode from gpio/output to base switch (#2381) --- components/switch/gpio.rst | 11 ----------- components/switch/index.rst | 16 ++++++++++++++++ components/switch/modbus_controller.rst | 4 ++++ components/switch/output.rst | 10 ---------- 4 files changed, 20 insertions(+), 21 deletions(-) diff --git a/components/switch/gpio.rst b/components/switch/gpio.rst index 29ebf0819..4d69d4c5b 100644 --- a/components/switch/gpio.rst +++ b/components/switch/gpio.rst @@ -28,17 +28,6 @@ Configuration variables: GPIO pin to use for the switch. - **name** (**Required**, string): The name for the switch. - **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. -- **restore_mode** (*Optional*): Control how the GPIO Switch attempts to restore state on bootup. - For restoring on ESP8266s, also see ``restore_from_flash`` in the - :doc:`esp8266 section `. - - - ``RESTORE_DEFAULT_OFF`` (Default) - Attempt to restore state and default to OFF if not possible to restore. - - ``RESTORE_DEFAULT_ON`` - Attempt to restore state and default to ON. - - ``RESTORE_INVERTED_DEFAULT_OFF`` - Attempt to restore state inverted from the previous state and default to OFF. - - ``RESTORE_INVERTED_DEFAULT_ON`` - Attempt to restore state inverted from the previous state and default to ON. - - ``ALWAYS_OFF`` - Always initialize the pin as OFF on bootup. - - ``ALWAYS_ON`` - Always initialize the pin as ON on bootup. - - **interlock** (*Optional*, list): A list of other GPIO switches in an interlock group. See :ref:`switch-gpio-interlocking`. - **interlock_wait_time** (*Optional*, :ref:`config-time`): For interlocking mode, set how long diff --git a/components/switch/index.rst b/components/switch/index.rst index 4fe558fa6..e14ddf99c 100644 --- a/components/switch/index.rst +++ b/components/switch/index.rst @@ -31,6 +31,22 @@ Configuration variables: - **internal** (*Optional*, boolean): Mark this component as internal. Internal components will not be exposed to the frontend (like Home Assistant). Only specifying an ``id`` without a ``name`` will implicitly set this to true. +- **restore_mode** (*Optional*): Control how the switch attempts to restore state on bootup. + **NOTE** : Not all components consider **restore_mode**. Check the documentation of the specific component to understand how + this feature works for a particular component or device. + For restoring on ESP8266s, also see ``restore_from_flash`` in the + :doc:`esp8266 section `. + + - ``RESTORE_DEFAULT_OFF`` - Attempt to restore state and default to OFF if not possible to restore. + - ``RESTORE_DEFAULT_ON`` - Attempt to restore state and default to ON. + - ``RESTORE_INVERTED_DEFAULT_OFF`` - Attempt to restore state inverted from the previous state and default to OFF. + - ``RESTORE_INVERTED_DEFAULT_ON`` - Attempt to restore state inverted from the previous state and default to ON. + - ``ALWAYS_OFF`` - Always initialize the switch as OFF on bootup. + - ``ALWAYS_ON`` - Always initialize the switch as ON on bootup. + - ``DISABLED`` - Does nothing and leaves it up to the downstream platform component to decide. For example, the component could read hardware and determine the state, or have a specific configuration option to regulate initial state. + + Unless a specific platform defines another default value, the default is ``RESTORE_DEFAULT_OFF``. + - **on_turn_on** (*Optional*, :ref:`Action `): An automation to perform when the switch is turned on. See :ref:`switch-on_turn_on_off_trigger`. - **on_turn_off** (*Optional*, :ref:`Action `): An automation to perform diff --git a/components/switch/modbus_controller.rst b/components/switch/modbus_controller.rst index 8d0ead3e3..477d60280 100644 --- a/components/switch/modbus_controller.rst +++ b/components/switch/modbus_controller.rst @@ -13,6 +13,10 @@ Configuration variables: - **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. - **name** (**Required**, string): The name of the sensor. +- **restore_mode** (*Optional*): **UNIMPLEMENTED** for this component. See :ref:`Switch `, since this configuration variable is inherited. + Restore mode is unimplemented for this component. This means the switch frontend will show an undetermined state until the real state is retrieved from + the device on the next refresh. For backward compatibility, once this feature is implemented, the default value for Modbus Controller Switch's **restore_mode** will + be ``DISABLED`` (recommended), which leaves initial state up to the hardware: usually the state lives in the device and ESPHome does not need to remember it. - **register_type** (**Required**): type of the modbus register. - **address** (**Required**, int): start address of the first register in a range - **offset** (*Optional*, int): not required in most cases diff --git a/components/switch/output.rst b/components/switch/output.rst index daddefae1..b637b250c 100644 --- a/components/switch/output.rst +++ b/components/switch/output.rst @@ -29,16 +29,6 @@ Configuration variables: - **output** (**Required**, :ref:`config-id`): The ID of the output component to use. - **name** (**Required**, string): The name for the switch. - **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. -- **restore_mode** (*Optional*): Control how the switch attempts to restore state on bootup. - For restoring on ESP8266s, also see ``esp8266_restore_from_flash`` in the - :doc:`esphome section `. - - - ``RESTORE_DEFAULT_OFF`` (Default) - Attempt to restore state and default to OFF if not possible to restore. - - ``RESTORE_DEFAULT_ON`` - Attempt to restore state and default to ON. - - ``RESTORE_INVERTED_DEFAULT_OFF`` - Attempt to restore state inverted from the previous state and default to OFF. - - ``RESTORE_INVERTED_DEFAULT_ON`` - Attempt to restore state inverted from the previous state and default to ON. - - ``ALWAYS_OFF`` - Always initialize the pin as OFF on bootup. - - ``ALWAYS_ON`` - Always initialize the pin as ON on bootup. - All other options from :ref:`Switch `. From f540ae6be4707356ef3ae01d9860f6ddf64cacfd Mon Sep 17 00:00:00 2001 From: Javier Peletier Date: Tue, 29 Nov 2022 22:44:35 +0100 Subject: [PATCH 11/38] Modbus restore mode update PR #4122 (#2494) --- components/switch/modbus_controller.rst | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/components/switch/modbus_controller.rst b/components/switch/modbus_controller.rst index 477d60280..2b5b2541a 100644 --- a/components/switch/modbus_controller.rst +++ b/components/switch/modbus_controller.rst @@ -13,10 +13,9 @@ Configuration variables: - **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. - **name** (**Required**, string): The name of the sensor. -- **restore_mode** (*Optional*): **UNIMPLEMENTED** for this component. See :ref:`Switch `, since this configuration variable is inherited. - Restore mode is unimplemented for this component. This means the switch frontend will show an undetermined state until the real state is retrieved from - the device on the next refresh. For backward compatibility, once this feature is implemented, the default value for Modbus Controller Switch's **restore_mode** will - be ``DISABLED`` (recommended), which leaves initial state up to the hardware: usually the state lives in the device and ESPHome does not need to remember it. +- **restore_mode** (*Optional*): See :ref:`Switch `, since this configuration variable is inherited. The default value for this setting is ``DISABLED`` (recommended). + ``DISABLED`` leaves the initial state up to the hardware: usually the state lives in the device and ESPHome does not need to remember it. The switch frontend will show an undetermined + state until the real state is retrieved from the device on the next refresh. Use any other setting if a reboot of your ESPHome device is tied to a reboot of the modbus device. - **register_type** (**Required**): type of the modbus register. - **address** (**Required**, int): start address of the first register in a range - **offset** (*Optional*, int): not required in most cases From c9b92b86d0c0f323b46519fae21274a641c2f0f4 Mon Sep 17 00:00:00 2001 From: Patrick Collins Date: Wed, 30 Nov 2022 08:58:51 +1100 Subject: [PATCH 12/38] Update PID Climate with deadband and sampling (#1944) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: H. Árkosi Róbert --- components/climate/images/deadband1.png | Bin 0 -> 130208 bytes components/climate/images/deadband2.png | Bin 0 -> 132159 bytes components/climate/pid.rst | 111 +++++++++++++++++++++++- 3 files changed, 109 insertions(+), 2 deletions(-) create mode 100644 components/climate/images/deadband1.png create mode 100644 components/climate/images/deadband2.png diff --git a/components/climate/images/deadband1.png b/components/climate/images/deadband1.png new file mode 100644 index 0000000000000000000000000000000000000000..a16a6edcfa6d4075db183379f6099b0a77c734e2 GIT binary patch literal 130208 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 literal 0 HcmV?d00001 diff --git a/components/climate/pid.rst b/components/climate/pid.rst index add12f42c..4b9539d53 100644 --- a/components/climate/pid.rst +++ b/components/climate/pid.rst @@ -28,12 +28,17 @@ but there's a nice article explaining the function principle `here ` @@ -53,6 +58,38 @@ Configuration variables: ``ki`` to prevent windup. Defaults to ``-1``. - **max_integral** (*Optional*, float): The minimum value of the integral term multiplied by ``ki`` to prevent windup. Defaults to ``1``. + - **starting_integral_term** (*Optional*, float): Set the initial output, by priming the integral + term. This is useful for when your system is rebooted and you don't want to wait + for it to get back equilibrium. + + - **output_averaging_samples** (*Optional*, int): average the output over this many samples. PID controllers + can be quite sensitive to small changes on the input sensor. By averaging the last X output samples, + the temperature can be more stable. However, the larger the sampling window, the less responsive the + PID controller. Defaults to ``1`` which is no sampling/averaging. + + - **derivative_averaging_samples** (*Optional*, int): average the derivative term over this many samples. Many + controllers don't use the derivative term because it is sensitive to slight changes in the input sensor. + By taking an average of the derivative term it might become more useful for you. Most PID controllers call + this derivative filtering. The derivative term is used to pre-act so don't filter too much. Defaults to ``1`` + which is no sampling/averaging. + +- **deadband_parameters** (*Optional*): Enables a deadband to stabilise and minimise changes in the + output when the temperature is close to the target temperature. See `Deadband Setup`_. + + - **threshold_low/threshold_high** (**Required**, float): Specifies a high/low + threshold defining the deadband + around the target temperature. For instance with `default_target_temperature` of ``21°C`` and + thresholds of ``+/-0.5°C``, the deadband will be + between ``20.5°C - 21.5°C``. The PID controller will limit output changes within the deadband. + + - **kp_multiplier** (**Optional**, float): Set the ``kp`` gain when inside the deadband. Defaults to ``0``. + - **ki_multiplier** (**Optional**, float): Set the ``ki`` gain when inside the deadband. Defaults to ``0``. + - **kd_multiplier** (**Optional**, float): Set the ``kd`` gain when inside the deadband. Recommended this + is set to 0. Defaults to ``0``. + + - **deadband_output_averaging_samples** (**Optional**, int): Typically when inside the deadband the PID Controller has + reached a state of equilibrium, so it advantageous to use a higher number of output samples + like 10-30 samples. Defaults to ``1`` which is no sampling/averaging. - All other options from :ref:`Climate `. @@ -75,6 +112,76 @@ To set up a PID climate controller, you need a couple of components: The sensor should have a short update interval. The PID update frequency is tied to the update interval of the sensor. Set a short ``update_interval`` like ``1s`` on the sensor. + We recommend putting a filter on the sensor (see filters in :doc:`/components/sensor/index`) and + using ``output_averaging_samples`` to calm the PID sensor from a noisy input sensor. + +Deadband Setup +-------------- +A deadband is used to prevent the PID controller from further adjusting the power +once the temperature has settled within a range of the target temperature. + +We do this by specifying a high/low threshold of the target temperature. + +To understand the benefit, consider a heating/cooling HVAC which is constantly +oscillating between heating and cooling as the thermostat records very minor +changes from +0.1º to -0.1º. Clearly this is undesirable and will cause wear +and tear as the HVAC oscillates. With a deadband in place the heater won't +activate until the thermostat breaches the low_threshold and the cooler won't activate +until the thermostat breaches the high_threshold. + +The most basic setup specifies the threshold around the target temperature as follows: + +.. code-block:: yaml + + default_target_temperature: 21°C + ... + deadband_parameters: + threshold_high: 0.5°C + threshold_low: -1.0°C + +In this example the deadband is between ``20.0°C - 21.5°C``. The PID controller will limit any output +variation inside this deadband. How it limits depends on how you set the `Deadband Multipliers`_. + +.. figure:: images/deadband1.png + +Deadband Multipliers +******************** + +Deadband Multipliers tell the controller how to operate when inside of the deadband. + +Each of the p,i and d terms can be controlled using the kp, ki and kd multipliers. For instance, if the kp_multiplier +is set to 0.05 then the final proportional term will be set to 5% of its normal value within the deadband. + +If all of the multipliers are set to 0, then the controller will not adjust power at all within the +deadband. This is the default behavior. + +Most deadband implementations set kp and ki multipliers to a small gain like ``0.05`` and set +derivative to 0. This means that the PID output will calmly make minor adjustments over a 20x longer +timeframe to stay within the deadband zone. + +To start with we recommend just setting the ``ki_multiplier`` to ``0.05`` (5%). Then +set ``kp_multiplier`` to ``0.05`` (5%) if the controller is falling out of the deadband too often. + +.. code-block:: yaml + + default_target_temperature: 21°C + ... + deadband_parameters: + threshold_high: 0.5°C + threshold_low: -1.0°C + kp_multiplier: 0.0 # proportional gain turned off inside deadband + ki_multiplier: 0.05 # integral accumulates at only 5% of normal ki + kd_multiplier: 0.0 # derviative is turned off inside deadband + deadband_output_averaging_samples: 15 # average the output over 15 samples within the deadband + +.. figure:: images/deadband2.png + +Deadband Output Averaging Samples +********************************* +Since we expect the PID Controller to be at equilibrium while inside the deadband, we can +average the output over a longer range of samples, like 15 samples. This helps even further +with temperature and controller stability. + .. _pid-autotune: Autotuning From 40af2a48adb65a0fecfc52f515f6932153005363 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 7 Dec 2022 07:23:11 +1300 Subject: [PATCH 13/38] Change limit from 4 to 256 for sn74hc595 (#2490) --- components/sn74hc595.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/sn74hc595.rst b/components/sn74hc595.rst index 5bc063f86..a3614c001 100644 --- a/components/sn74hc595.rst +++ b/components/sn74hc595.rst @@ -8,7 +8,7 @@ The SN74HC595 component allows you to use SN74HC595 shift registers as I/O expan (`datasheet `__, `SparkFun`_) in ESPHome. It uses 3 wires (optionally 4) for communication. -Once configured, you can use any of the 8 pins for your projects. Up-to 4 shift registers can be daisy-chained +Once configured, you can use any of the 8 pins for your projects. Up-to 256 shift registers can be daisy-chained to provide more pins, without using more GPIO pins on the controller. Use of the OE pin is optional. If used, the pin should be pulled up externally. @@ -50,7 +50,7 @@ Configuration variables: - **clock_pin** (**Required**, :ref:`Pin Schema `): Pin connected to SN74HC595 SRCLK (SH_CP) pin - **latch_pin** (**Required**, :ref:`Pin Schema `): Pin connected to SN74HC595 RCLK (ST_CP) pin - **oe_pin** (*Optional*, :ref:`Pin Schema `): Pin connected to SN74HC595 OE pin -- **sr_count** (*Optional*, int): Number of daisy-chained shift registers, up-to 4. Defaults to ``1``. +- **sr_count** (*Optional*, int): Number of daisy-chained shift registers, up-to 256. Defaults to ``1``. Pin configuration variables: From 9a8aa667ee8d4a6efff5b499dbd09186a8d8acd8 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 7 Dec 2022 07:29:21 +1300 Subject: [PATCH 14/38] Add reports_fahrenheit to tuya climate (#2448) --- components/climate/tuya.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/components/climate/tuya.rst b/components/climate/tuya.rst index cbc00eba7..10f61618d 100644 --- a/components/climate/tuya.rst +++ b/components/climate/tuya.rst @@ -60,6 +60,7 @@ Configuration variables: - **temperature_multiplier** (*Optional*, float): A multiplier to modify the incoming and outgoing temperature values - :ref:`see below `. - **eco_datapoint** (*Optional*, int): The datapoint id number of the eco mode state. - **eco_temperature** (*Optional*, float): The target temperature the controller uses while the eco mode is active. +- **reports_fahrenheit** (*Optional*, boolean): Set to ``true`` if the device reports temperatures in Fahrenheit. ESPHome expects all climate temperatures to be in Celcius, otherwise unexpected conversions will take place when it is published to Home Assistant. Defaults to ``false``. If the device has different multipliers for current and target temperatures, **temperature_multiplier** can be replaced with both of: From 84b78f80079f1ee65b57726d2fd199890e064ecb Mon Sep 17 00:00:00 2001 From: alsig Date: Wed, 7 Dec 2022 00:10:29 +0100 Subject: [PATCH 15/38] Added documentation for SN74HC165 (#2504) Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com> --- components/sn74hc165.rst | 66 ++++++++++++++++++++++++++++++++++++++++ index.rst | 1 + 2 files changed, 67 insertions(+) create mode 100644 components/sn74hc165.rst diff --git a/components/sn74hc165.rst b/components/sn74hc165.rst new file mode 100644 index 000000000..28b365c54 --- /dev/null +++ b/components/sn74hc165.rst @@ -0,0 +1,66 @@ +SN74HC165 I/O Expander (shift register) +======================================= + +.. seo:: + :description: Instructions for setting up SN74HC165 shift registers as digital port expanders in ESPHome. + +The SN74HC165 component allows you to use SN74HC165 shift registers as I/O expanders (Input only, use SN74HC595 for outputs) +(`datasheet `__) in ESPHome. It uses 3 wires (optionally 4) for communication. + +Once configured, you can use any of the 8 pins for your projects. Up-to 256 shift registers can be daisy-chained +to provide more pins, without using more GPIO pins on the controller. They are linked by connecting pin Q of the closer +shift register to the pin QH of the next shift register. + + +.. code-block:: yaml + + # Example configuration entry + sn74hc165: + - id: sn74hc165_hub + clock_pin: GPIO16 + data_pin: GPIO17 + load_pin: GPIO4 + clock_inhibit_pin: GPIO18 + sr_count: 2 + + # Individual inputs + binary_sensor: + - platform: gpio + name: "SN74HC165 Pin #0" + pin: + sn74hc595: sn74hc165_hub + # Use pin number 0 + number: 0 + inverted: false + + +Configuration variables: +************************ + +- **id** (**Required**, :ref:`config-id`): The id to use for this SN74HC165 component. +- **data_pin** (**Required**, :ref:`Pin Schema `): Pin connected to SN74HC165 Serial Output (QH) input. +- **clock_pin** (**Required**, :ref:`Pin Schema `): Pin connected to SN74HC165 Clock (CLK) pin +- **load_pin** (**Required**, :ref:`Pin Schema `): Pin connected to SN74HC165 Load input (SH/LD) pin +- **clock_inhibit_pin** (**Required**, :ref:`Pin Schema `): Pin connected to SN74HC165 Clock Inhibit (CLK INH) pin +- **sr_count** (*Optional*, int): Number of daisy-chained shift registers, up-to 256. Defaults to ``1``. + + +Pin configuration variables: +**************************** + +- **SN74HC165** (**Required**, :ref:`config-id`): The id of the SN74HC165 component of the pin. +- **number** (**Required**, int): The pin number. +- **inverted** (*Optional*, boolean): If received value should be treated as inverted. + Defaults to ``false``. + +.. note:: + + Pin number 0 is Pin A on the SN74HC165 that is furthest away from the microcontroller. + +See Also +-------- + + +- :doc:`binary_sensor/gpio` +- :apiref:`SN74HC165/SN74HC165.h` +- :ghedit:`Edit` diff --git a/index.rst b/index.rst index 67854888f..e72ccc8a6 100644 --- a/index.rst +++ b/index.rst @@ -680,6 +680,7 @@ Misc Components TCA9548A I²C Multiplexer, components/tca9548a, tca9548a.jpg MCP23SXX I/O Expander - SPI Bus, components/mcp23Sxx, mcp230xx.svg SX1509 I/O Expander, components/sx1509, sx1509.jpg + SN74HC165 I/O Expander, components/sn74hc165, sn74hc595.jpg SN74HC595 I/O Expander, components/sn74hc595, sn74hc595.jpg SIM800L, components/sim800l, sim800l.jpg DFPlayer, components/dfplayer, dfplayer.svg From 88fff3b15398b618b25d817d86b194314b16ec8e Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 7 Dec 2022 17:00:11 +1300 Subject: [PATCH 16/38] Bump version to 2022.12.0b1 --- Doxygen | 2 +- Makefile | 2 +- _static/version | 2 +- conf.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Doxygen b/Doxygen index 84430a27e..d8beab513 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 = 2022.12.0-dev +PROJECT_NUMBER = 2022.12.0b1 # 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 299496721..bfa492d16 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ ESPHOME_PATH = ../esphome -ESPHOME_REF = dev +ESPHOME_REF = 2022.12.0b1 .PHONY: html html-strict cleanhtml deploy help live-html Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png minify diff --git a/_static/version b/_static/version index 4d86bb449..50820cef9 100644 --- a/_static/version +++ b/_static/version @@ -1 +1 @@ -2022.12.0-dev \ No newline at end of file +2022.12.0b1 \ No newline at end of file diff --git a/conf.py b/conf.py index 0c9e42adb..d6681ab82 100644 --- a/conf.py +++ b/conf.py @@ -69,7 +69,7 @@ author = "ESPHome" # The short X.Y version. version = "2022.12" # The full version, including alpha/beta/rc tags. -release = "2022.12.0-dev" +release = "2022.12.0b1" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From 67d2a6a07ccafe1c90b81a7021845197daee6622 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 7 Dec 2022 17:12:10 +1300 Subject: [PATCH 17/38] Update changelog for 2022.12.0b1 --- _static/changelog-2022.12.0.png | Bin 0 -> 31349 bytes changelog/2022.12.0.rst | 163 ++++++++++++++++++++++++++++++++ 2 files changed, 163 insertions(+) create mode 100644 _static/changelog-2022.12.0.png create mode 100644 changelog/2022.12.0.rst diff --git a/_static/changelog-2022.12.0.png b/_static/changelog-2022.12.0.png new file mode 100644 index 0000000000000000000000000000000000000000..7eff5ae2ee4407c9495aa16f85f6cb295c713f92 GIT binary patch literal 31349 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

SUXwt4n2Ge5Nd+7UYsgk{-? z`fh)`zYOiY~9^FkRR>L-O7tHX^v@JDKT+h_EhQB_HuVC%EPg#R(upmVKG zhbbU~(8m;{PZb98W+bs8L@;`Kdcaqv8t!lyc+wJ5`TDn1J2QuqnY@PCJ}%!o0x2YzWp88Q;uYSkdw3qOp z;Z^Fjsg}EY)=_b^#qw_PrN+(^lB?kOCA2B%akT{?5Bq*iey4%LE`hW>*Oe2Z(+ zeoanLg_69ZZMWLj)6C)*PEa8()C(Ns-#~vc%o9pEoS#oXkRzQX%2q(&fmxc3B%z^( z0LQTA`7}rS4i^DB8y6K76&Dva;Q3TjwdDaeWY1wrt4UGe-Cps#LG%36=LWV+GW1A; zE6UQ!>g|Zp_xL!7uPz}ux$CJHp5250)AS?^Bel(?r9QvDg$c9(!P)r|%p!z=OAK^l z92|&V=?T4TRmO<0wN5*lih45 zq6z*Sl#5@c9AiT0v)87>q(z4-RHTj{x!CNQVnP`DuA+irNB4^k2wH@2hGyK%@3LBj zD*1|>=Ni*!isS(44C#8Y=5BtX+#$R4)~7mc;lu_Z#B#t!406EmL{$;`ejizko7@&>`>f1Wy3LnVR$5Sxci>KH=1glo#q4rLv8GCcHkIY<&-T`*&qOx16zWl{Txz{oBBt&s-z~$($esGWLb|{S&w(NYIwRoMZ^*Hw6jdcX0BP1QQw(67d_4GEHKdbWu={hYu^r zQAFuugH)@nJ6GYKPJ4^VNhlg+&ZQazu7KB5jeZ|M#KXfwM3nQa78n=^GE2~rf4-qp z#>uIntLyV>yDu1taMIV|^W(j@w-*|Tz-fja11?bSn_#EYa$OadTNgPK6B9A9{?z8@ z#nmckEex<9Y#i$9*LD5{r=+CpQp%3MMSt3-E;k zR!!SlCb}p`OjSA`I;W@I#6(S{Ok!d7c~lZYA_Aw&!)%%RvvpqFv?jiL<$xy1*DZbi zu`niS;McY@(vbaILlW{3MB%KTpI?tZ^bDK#XQu)gs(p7@z?UI?aD1*J`=^@e&?z|s z9BDsNoIOn41)#!Ysc^&^C1vFXr(?xvmsEC3Rc&o;Vc|dC0WRP5|J!VA zE&}1P*2WPp{w3bf^n7H)V==gS1RNb5ov${#Zp|}&?ry$cxQ2#?+B0Ceb@_h! z*!-tm%;f*%UHxmKPM369tzG)QpWOZ3zuir}Uyp?a=uSo0fk*or^PK^k*X3+vu2?UX zxzCKP=^e9@Df+1J-yKvGJTC4DD`;zIZ-=K)f*5m%2;63ZI{ZSi4dnN9GtVobrhkGrnIRe1X~m`ciAVa3`1}^+$;?(bnI#F`>b~qAf!!#fp;=FcC2^O>b`M(P1tv zEHESVwfWj19IB^vi-P2aLYnPE<1p_B22r6)UGQhEJ017vC|S?r{Z(klh)_iPV=}THCMr|{F?Ry#(0{i&zheo`) zy*0!RB9j2V4%zEMXwYFgdaq9lEf-uf%L%a4Fv(MN+p{iQrO0$uVwPOx}5#njs+}4g@uK6bvGjMIP>!JJN|J5UuhC^az28DGtsDEOG-?< zJs61xQje^Se;|?gKJO>HySryTi>8sH!+pMA`g-omhp4`hlN!!k`d*%`PLhrP6cNkf z_T&&}aDAeeO!;|7@gz@FRV3DIy}EdJSE;h%i2#o+pdR`awchgb{Rx4p(3d0=w!)b zg^K1sen5ySc-b|`QyF20FIyE+)svXj^e6u+fokD{@$9W<;#_3kJkAk$!fFh=gk-+FR8)K&Q3eI zKOJUxmGKK|Z}@-aYAzX8Z~HAsyzSZGWiMV%Hl1T)xf$esisdpL>SJL<)Id8j!Vgvi z>)MpAj+n>SW~_sKZ%d0DI?Srt-{9fKcf(9IY&9ACLvZKctnYPX7W`kuLbJPKD>&H| zcMXQpP6^AD`x;bMvMnv&!3$7RGkOSVtJ{abL!kK%NKwDWN%#kUg(cwW4@Ty9v&*gy zq3RCoB#Did-y-b}f&?i?a)`(mVjL=T7~hs#!*xb>t}&R(eRFvmuU9u~2I-|@HhBYs zolfu9cDL@ewY3XZ|AB#l^}qI{0s@`M0p`$OzU=MqyAKdze*2c0oQy?CxcS_sS-9ZR z$q!>{wbl@7xSYxB!u8f<9nz3Kw_i%D>ecGoRd35#Q24&IYU{b8{H52^t{bH3$IgPE z&ZZ{%`U*e%m;cz~2QlLpduiKOpU4hGlaCJVrwspeELJ4)iqKzPfi6%#V|A+eWMpsL z)cuRiWoBmx!T-ze-;`caWvlB?M%@HEX(WufW6bYbhFaG^9x#|Kkc~?*s z^vsS0%89-G%xx!>(xXpg@8$lqgNqpZ+qVv<0AkWy}Hl$r=Bym_> zj#PTvIaY)upuWS0Hkbb|$Juhpgp2Vi@(Xg_P_B7vLBUph0Bxfy!D2iZ3l76wPhe;Byeqp(V%N)pnQ=|8TUV8^mUr_>aWE3WS0x&6 z=%@9z;?GjeXi$U*|MvE_=g=aYi_K<+EHih1f6o8%BBCT+lzjKB5gEWDh7thQ)V{){V#QB-@dKa z6VHM+|Hsy7FJTZF;eT8JOGE%19GtJx-tUOIoy5P%Y9j(PJFFfsyI*?E;fCC4MUR)8 zpT+xQv@~U0SGAzUgU1iFPtq&9jQqx$#=I0AgXQB zb50&%D{sgPN}MV7s;RX-_jj)yF?34wlwn=BkS>7oML|t%$Q~csPd`PT>KArUllzBq9=F3>3uAIbnn$<}LNBdkoIB=N$828co$pC#M82I^zjH4K0j~ zjoZlG3HaP%GBejpIo$o7PZyo1LNV#oryu&-TrWRfmbxy4p7UIeWBYwXhK>plMxVy? z1pc)zFM}B6#2#=_yL6ag#-*#xV{ty8!4S|N5{sNExYC2I&?aeccprbWV`35SSlMgT z;C-!(0uoPFiGTdLRQ?#Z`x9cPqEe`dLKXjvgbs5hzEFeG7d#3LjY}{um}8e_%mhY& zOoRv*N1I0O3mYgLwa=stV9UaA`NBSwAB9|9QI?9`5@~E%-fj{IkhEX?M%gvPhromY z0l*$tKO~B~Z6^F(|3vxUM4VS9-Z>0Agr85r#nfsHP1$_z4sC6>@~aBrvb1EJ%z;CqnA77-O~X}JV}Jv3C*71hNS&&P`(M7))CejXl=#R`pco2Fkq z;HFESA8*fp|Jy)j&D%Z#^4F(J)ym9a4;wq ztYbe&G`3CHAkVLIBRD)y~o-*HC!iGSpy*1`IGILPR;f{0_&1oNWHw`6AD(v zWL?CMUgbl0<4Lb>hz030ZtPWiR*m>m{AEsuDvIBV*S2%NiEAamZTU$+Dz5Pw@{RU;bG@S#N4|k zd{aDP;u(QoUtFX?pJ%*4X=8mIw0$Ahtt+9rOkMNOIRSZPWuuPZAdjgn3|q3|rKR9K&=WB9TLq1vyNAaDp~-8i9oR|ICAol}-Ms$C3s4hM2FHQZqidf1 zV4;8XXR55#C&Z|H!i~L(g09Q0TK)~%hp~KFv8IrxZP45N{v9ur!ETf$+!9)VjEE3t z8H-uSo!@mSzK3xg>t*#|=GT`spx6lj8(bK~Xx|tU z?(_=jZ2aN~FRi#kB{u0&FepSp1DM0k#f8)BRy+4Q;`oFR>Pmr+hJ-|mL7Iny-vtU4 z1Qj#SzU62wD4nMkiV$wz1lH-Qoku26?9>}c+z${g+ovfVEw^QW+N7ea5HcZaObb1j4U!r@`X=H&L3tXn`=Lqoiw{0M z6lVzom72j6ZmC-j*LMpx9LN% z?1RrgAS%-!rNFsCTxoeYVxDU*G&qW3SYBB&^#CH_KSN3J@&HYz9#L;-4>AD+BBTn1 zyrhT0uu-815#}^_Xu@&QVl;w#5He;~)`5q=R|5lz#8SN~*_fsQC!muDe(T~PkAWkF z?dO@|A??PPn|pN{sn2OdUT$+QxeZ?a&64x{qB=nHZ_L=eH6ZdV+)h<{+(}d-J|AKS zP%yfy*}=HKiXGi|C@dUZH=5%Mh{blL|4wG;6X7EbpeXi;)it|;X>IB$AGQIuuN1j0 zrYo~{Yp$z8;Y4UiQWV%|XeZa#)LdrJ_;@u-OSPk1O?+$zm-Mx z?99xJlYpRr01pNjI_Ra)!VoD?O{Ms3e%mE065`>3c+An!QCdzk64I;pn+QGDoWvCb z;)Cu@XsAS1VJM`YHc`$O)p{@iP6QN^ICBcUGNjzOD(`=zZY3Zh@-`d(ID%Gt$MLsk zA)e~>{JW{NrIL<=vAWM0Y%QGnHCAVv{b0Cya@%vX&^VHXa^ZW(@P=s*iXnxFHkNe~ zDg>NNsEG$%jLFH!^icHblVG`0=wWqpEkFCkg<)o9u17(PU?vqu1XLj^i!tY%RT$9Y zJs6!UErs1lQ)4%~KfD@@WT%L;r0EJh@%z29l0EW-2t?)mO?>`A3Ts0s#n1OCR3133 z{K4b@dzV%^T#-Hj4iE1Qi?BdM=rxC+ponsj{VlX0fpZbju0^9mE%ie`<_uwii0Z?m z*>t)rd&Iqj^H_&P9)cN|6v)EnR*;wP8y;@=*coo|+HawCE3q|Z92*T$PU0LO_ zBIXnI%B0CPS41~Y#uGO~?629>-EnI(H=e}Dqn58h5WnZZrcW6>r@a zx>=no9Wh|VQ=+XnQ8(vgLmDnlM?Ltvnkdd1v0yyn8q?f7*Wwh~5`j&&zi%Ja1#Gw~ z)4UMs>`W_Hu!M|gtn}l|*@x(HP)XqCB&PG#sLr;g`78E0ch|=OgY`H#I8|T> z53XBZx6j`jnmRuEr@krxUAe2ng`MOnu79_}OevW>YSPF1$GacWef*%m(*hYT4P+-u zH{UgE97sq=xH^7{p(ocv$+rXjV>4m1S=lI_3BGPHDsj6e6012s#ozA#?6UX*c5GD|gNlNlT=dNg+`HS`$(al!L<)%NFV4W{6z_7`x5Fh7 z9^>%!=QuD{n|hE4&}l5B?d5EX(|rNZ+nZ{&RXjJ?PX=i(#;E5Ffer~ zuoNv#Sj1Ft02lPXz~vR4$|A7@xqy?zPloIc{;(m`%>~_HH*3kJUPYvU z!8mDaID-^%kYv*IQwY(Jh@z44(MVH}%@FD1Kg3fU-pxW=eOTG~F4r&YM`G@h+y77j zU>>hiFU6W0O9+FDf}A;-fAaM&WOiD-`Jy&g416?X3ZR?sCO`-j3>{W;t9)r$e(i1c^s>U&0bmC zhH)^yp`m5k2|T7o#o5&DJW&#>jOaxb>hBlyJsT2P$p)|@y7w>PjvHd;-ov& zu=6rrU&)$;JWvNe-K|7)eJ=jZyhhTOgcG;HTu{S4So3|_K{#%IZ;zDZ7vy1I$b+Kj zzIc;f7A@ByN4sDfzdn6)bMxCbdSG{NZ|$a?hCu;OKEYu1SkEeW_39{LM zg}2SkX29tPh+$mtO;GXdc}6Owuun0O3rjL6)?mQg?-Ll5q;f~6%5*D@TfHA{y`=iU zv}EF^PXJKEe*JE9*iDh{6OTj$&I@%MG=<4xl@d6JD4Fv^=oRpgz;mU?q?WILIw}~5 z`7F%`)Yg_?2XlCtm&z8YC>WzjkZ$?b6OjOx?kkEi5KPgev-j*W)(RALXSBH#1xa)e zOhXJb1{j_cGw{>i93(HKXeb=EfqzfdM#P`)iAHp^wfVHj0|of`Rd&(`!;1QPq@GD| zH@Nfj^T&c`Wzt){J1)ja49ypj{(X1KDHV4ew@V*ZPBU41zO)3Ud42BBELIw|=kLG$ z_Ah1YvfvH>B@a^=*EJ0;d0SReLn{L1(Tdr*?LtMM>Gb_7Sh!1ESWsA4SUOqy)%Bz1 z3k6MW0_$f`To$rssvixLHS`K)qkMb$BKM7Kb zVf2Cr5_g95kzR%r!mx+~Sg+Ze@g(Nud?yUbH^ksoSKgK|omCNujC+UIrZG?|4w%)> zB~e(`&Lt!!GWk;heM3XB8`C!2e+~{Z-`J6us9I~yk`QBkd`O#jYLJe=G6&Kd{|)=i z465c8LANS5pUf}U+3O#R0Iv!Z@wFyWHC=Lg8B!tCYC^*FNptSs=M~Oj%h5#fh7EJ7cQ(AApF>?M{9wfVFF`BGleb15*d5buz z$_*~xwjQ602RjR-eZ8I5+OGRx+HiLv3t9V!gcJF39tn4*Lb6spXY0N#fs&3ZxJ6quK{_Z}(_c@eGM~n4oAh(ZP1F`l z&9Vn1_9UP)kwMp+9&yq!87ZLzBw?cjxk(O_WN{ny2Dy!b7_gHV(*`F}%Y(AYS4kx% zkU>O+gl~N4ED)%K{tPM~%r?Xz$m=gL!DF{9?IUTeGG`1A2FVaQK|aX^EZI1711zpiIO)%0s#|N06b+js z%BIv6h2zddInmxvIn?W=uny89LU~T~%XL7sU#iV2^>G{#33yLK68lfNywt0b$R9%j zw;J-X4!ZM^S;zEi2;;@Uq+ef`8~Cj_ESv=#4>jF6t4QT3W=SARzJQ&IYLwBxz(je-GHS4?A9(DYP~4AoTCu{j*<))Av`lKitdG=Tx`=@6*uS`#_`fv+^8%3k}k z$p3Z5@bECW>RgsurYx$J?QrTQ_B@3sbSsR6J$Kd3&DTg8W8AjBReL0KuYG(CfN3Pc z8L1ybzZd`(E|gp$P1#pUF%0zdFlk9e`f^#qKhH{#3FVmOcE?3h#ZEdO{Dbg%HRAHo ziM~11lj*0t_-q2VdQRh-DaJik=eqVjDQWW?{U__{##AmwR|;gagf|Gx(4Sv^_?}W) z2ssV?R#Z_vI&4{<*qgzTC0%3LV$t$|4ZKMq1@eZ^*!t1X z5Tpun%f#^!>q7MK(qY1*#0_8q#3gWp9KUS_ObEz1(s7euK!iKZxP-D)izfCi{maVA z$jQm&78#apYI}HS?}=IqWGNn&W@n4<-Rp2gt4Tic54@}jmB?vtHW4$<;3_|FQXJawsB0$^K?LO!6^6UF+>&kWm zfdPNxS(fm1r4$A!&>$X*Uq20NDgI{E($!5>O~oPXai!0jayV{17OR}e$joF%>moJ{ z9GjW~bATk4?{gHDm9@PeU&OFPqp;L&rTqp-a9AjgZs&RSFDv#f>U8nwOdov=*WV-8 z{Pr!a6XHVbL_=d$;bT2Z0_YTz7sR>9CLO$7=-CI)a%8Ybdrx1rY1qK>7k}SRIcs^) zKvXJHtzyaxGgWs^8vUYs+_fBGcw$Zhh6f_=mn=j^31T0;g(w6s--8iUUS6J|ewb}t z#~}<6=fXu+WX~dJ&gKBPm>vmkxM^LXe~$Jes8)> zep>HIv8&T9d%NN>@_MGiD{#uKyo|~7;r6mXDHRlx!Lu6c!NS!X z$*HC~j(i0xPr($=qqYV0Q%Jd_nz>N%*|0WnThS>V>Q{+g`il^Xp`gJk0k`KE+ zB9f+Z^e=V!1p0!(s7uTxS_xn2fv(C&Pnq!DPhH%rev%3FEU$c-v;ms;jI{cRIp0b6 zVnfOoj27V#%!4wXK};8d$W#zU>I+r278f%gjS%}(OLX_(LE*3aqg%aW$7VNf$KtP^ z)`=6@sihvQ^z&di18$-r*ROqCmTMT;*pw2!nQ@^hV|fO8`PkUJmz54ZNwVazO!&d& zg~0H}0(2B&`e}HdePr(cEbrn{%(gKsLdD_hIoD>|+UxJ)@86a^}AtgC>1+}9D@A<<%U!HHIA&NnjndA>u z{(|+I^BdQ!tgMM8X~&sAo-M`9j7)n(FXc7Lv_X~oElE=qvBqxcB<@vxs#2b5N zix?cR+ai~gG;c^BV@R3X*Hc2r$H&*bN=x$D14ynXRQ+?iN(9DKINjZZ39L1jTtONHCTozIl#UbKe5+)pD%>Utl`NC^NrNtQ8@d1yfk zK?neH>39+QCbBu>qtvDw1~(pVzUWBNw{J*@p`0LL z%HQ@lstr1HWFt!d&6s%eh(ndlRR|{*Zhkywc21Z8szLOR`4q8%jvOaqXm>8d)oLn3z z0b`%DvolbvZQcQhz*c`dnC(|lQArf*2OTo-Kij*iCZFXuL8Ftsr@8o*5f^H4vDXv5 ze|}!s&=~IvCJzg!zlt{dp04+2Q4HA*9C(J}lOUkr(Q%zH7PDgyor?CB@$%M2Jvk&! zITX;8BEL9E+VE46l6rHXI$h#H{aBkUU}&>#97)EH-;FqepbjYVy^3^~$dmX&&zpvT zAS+P_(@M{#=XTffLsQpBvBtp3h2gBC+}unQ%>cJ18OapZGBz$}=Mu_2`*o&V^umg{TJ4$i zKw|xzQ}w~s)a2x*cPnV#EwTMVCCvUjN;4f+_flu?y;uw{d=JRq>mnmDta#2W!rt_ggJD7Z>npvm{)1EB7oX*sCwn}swxTNCXpDcHWT%Mm`uqET zA<0EzE{MUEdbZ{JabR?%jDK{0kR+d?D8>uLI=bqycimS~lL+$#1Utk-VKgbq7Ug!^ zGM@6LC?tK<*v32PhXl>4cPna2OEm`1UmKH3-F^g!l7L!QOeNCprGN5f(fyZ<3`Z^! zXEIu`6J^x)v`=t2oHQgo%#Gr@bEe~KLITeOa`Te1G2mcl=X;;Af`Jl7N7VzsoIls> zvGm%%b--lq&XsE}sIi`fm_FSOye)gYb_wLQfX@Iz^@jH({&!C zB%vjhr_2}wp7%7tMNHaAGBHc5{@JfoHsOUV@|G17(gnC8@9q(gU?e^5=DUe5Tx2Yg zKT#C0%fD{4X;w?3S5OPwH{>;rT2SfLHGMc2e>%65yKcYPo<*>W;U1%k-!c5~VFr|= zQ#%_Qo5Kid3qYzd4k5DIClXiPadKt(N6Fg#jTTe9t+oD>#fBvdOMjMW!=R{|6{&dan1I{kU@J9hbG)uXPPxT`kFx;|DEo_<@s0!2xg>w-7*Z zqQKfis34I5JrC^ifWODyVx~WCMBvCJ7#|f=k!s$caY?cC;sa78G{uRSB{82R11y-C z%waoFbu%8zGnJj0KX`tUANiAVeWTCYL4JA`WwU#WiZ+y#Iyev`yP=%AF5o$1>=Sgd z79psDOxcJm&ut(wY8rf=k*jX^OPZ9FbQU>${o@5TFO{GlvtbQ>7cMJ_7BSucz7)XR zTe4Y<)@emE(DXtI4d=NwO(%k7Ouyi;%D=Tp$V~b*G>LmO2`7ryj`5c;ghN^BZtZ-e z_c{|zg@D$oKY=0SZqb9+_|t-pj?VPzbdH_@lz@9Umbwa*f9yEwUI1o;Z5>lfuTaB| zPcuN0|A?F=si2}v`nVW@sQz_>AyVbyR!)m!m=q20e)!wVcGN~Zb1uvKk^9Qz?bN@K z`TQH1?>emCsXbY8)UsQ0)Q(7V8b2?ICyikjkGWs~e)=F6iooUPI-Lv9OQ!xJ*+7d6 z_-b5ewet6mWpDe}L|)?5M9Id8#^5X7g`n#pPZsA8pCvEd?vVRl7|~kH!-R&cEJ_2A zJEySMl#s?=tUZu00g;Yj?p1QvPGNwOcOc0kOAb9_?J`G6H(p=CLIR?RIBpL=(`mWc zz~FB$e&K6PvWJFe?6PihUm=?jlcc{xfn&2QWFSIoHn9tm0Gu2eUPRc51KdhK1?_Vv zLLXRP3qe(#bmF(?rcC5$Oj-g45)g7VDorTwMY z3@9Mz`&4qID7r3WVxye0l@VcxZ{0L{K|~O1Tgrn21RhsD-G)4D3$i9V{Gme3{YmA& zo2yl%#zas5+f#CM(;SehrJ$A6js}kkl5YO{jR2Tt91b2~{)1urH8ogKQ9prX^<<~n z{5dZUAbMKvlJ&PS#IVYBElKQo`c9G`X-3E0QVTxQh5v&xF{%m`3Ju>K%UwIZ6jCx* zU;%BiEFCZ0jiTZ&FO%{+6htVn2qJh>^wfKgj9!g_;geg zuMHcV9}ciX{`NdRV3!+>iA%_@HQl@wv*% z<5i(cNPsLAB`u$l86Y(wonlQkbNLK8IUPreg#iXw);4p%I+52A7FI6m$s*was6wTo76qPRqlk>O zz=nQ1dc z9SkR(GbvP(OmcPo)!Sg5&q>9C6Fpz>|9eZi9EoMFJPfBxqcm`AuC33U9Tbe)j%{ga z-5+NEwRy}1&r5)L6mB;QQwQUMZ-FuX8ytAwru!`c-f+_6|7%LhPV9vx22HB<&5+|aM)cD@G0?aRrfJqSMjr~)Hix90=lqX#uU$0k1}$KGLAdhn?oEVT-zWSE$U&;1Lx|aT810UZVrz}O+JOuh@%s}XLe(?D>FY1p8fXJz>&hA z*$~#(y7y64QBWCFCbrIln=+B9z-E1G3eU8=E7L18#yNCA7xc|9iR*faE1lzELIA+| zF795p=z-~J5KD4)Bb|QGTc)U+_EYz;!YBK3(uh!pgO~ILt*M~PkpBMsS=DP?;8p3e zuzK(_3^T6n$`O*^6qK5`doUXcsLl|y0i9^ zKjV5c_)fC?u5pA2qeURaT3oM=wldK8m4w{VXZ++MQT}&bVOJD#Yw!fH+Y;aMkHY2$ zY7Y^Tr@!NOE&Y^8MT2A5+Pi%&d73nSchvoM>#_dpl6QBG97dzR(UAv74l?)Vxpeh8 zaw_3!^u|>OrRMxwwPrHPJ!!=iubzix;p@3`+ZL4%H*88@S=o0(zRO-4CeMkmdLRK~ zcc*)2*e~lo8q}&n<@=Z%-eK=F3)o;*jzETr1|7*4sr?|~J>Fn}Zor~RWEVNW*gE%} z)RV5;C$kYw&jtbQ5S}IMzL;!fdL{s#H9~Gu2?pX&Yf)(=~3lny*iR!{dT`C);`U3dd)^{>I z-U2lKSV=qW_Z2rY1wFE8jg5}aeSFU@0pO6DFzLPq2ya6iyXQGDK!jeQ^qxmVc}HG$ z1P@Tf_nrvwA=l{6X(x(Fj-I7<>JQ7^KEi*n`8_i2s{f`c&D=j*9Jzd=8X$V+PCAME25(VIg}V>)DNqB>_eT;;0Lt8`YCH^Xe<^|hATnV$-M@eWK=@RAcCdfW z03n7wW0QhKxMi!tg!iMeVMnQq(;@jF1-$Y<^L%6DPHEGrVvRTnFr109*vn{am zY7E|@d+zL?OImY2FmVHq|IvOwbSda?$5xTb8S`Ko=KMa$e4?xFhgJPq>B&^kxN}v- zpE5F_v#G{P`nJyn0)Jb98Qq;a+-is*;Sv&9-gazFGdp9I)-&i;{sJIL*=lybc)+eJ z?R(CFNo?EG8^Blg#ht=2!N1bvs;+m#$r!W3=MQgPW=XLT% z=?Y$R&u0`lvDJr&hRBfoNCaMRCWuP+0zQKSx$&BkC;6 zacJl`b@H#Qc#qj$54o%zUpf_j!09mAEEeAuV!1Bj9x1Y8Qa0Xi*}wNr?|SGKGJ|IP zrH)z%^Ot7Klz|iE76ggxRvUFfz=EU>B?|zm=p9Fkp5wj%Sk2>1;_O%>*D9FN{A-^rThh_E9#C{sfmSC-4jG%|KwZYGZexXlJ}>hMQ6E!0>zH^h9<3n?AC>PsX8MoPk!s+xX%^*>kP z@pwM2cJSJ(eQQr@f0pUo^z;qSfujxp#Q1+EHsEaA7y7H9G=KK~mzmNXzYBfAE?D1A zszCV4{pMV5-?PL9t-)yORix`WG*~VpfZP8Np?%>Lj3Ez#*X46maoDxQV2i3`y zzfIpc=j*)RZk`Pjo79MgbiNI!E^z!V5@0CeFX^H}e!Czq_jX98&%~7Ho*&o#ye@R8 zeGxCUCVxRbr=Z~;|1Y|nxyE{xC7f{hzULu1;5|o3KAq+2#OKQOEr{2i+Vmkyd2m2L zbw`8mQ%{wBvZHhh%6OLe%kq~))zI19N9$^)g20iuKQoH^*92t4RIIODk%7*Y)mg9K z*L_zlGm2%`Kh&*Ve2!jeZ=rg4n@OWf{wNX8bkvT_jY3#G zPOo+r!@P=xh z%qZZRShS;8r>1CELRu-LhswEv#osSvZ1B!Kdu7KpfUNiXl*>n>3Ws_ELu9C#(t;O` zCI_A8Ug7LGFuwqQ=Yh$WUF>ui@0@S4`JVr&BtaQSTxzq`-Kc!ZbqjEK_z4+~4**3F zcCdas)1cedkT2T3|H^k6)lC2T+r;ynnj|4pyPLxdjs^B*tz+FfL;yx!`h2aRFi$+-M)WAUe` zh8n|GOmELfL=@3aZF**JTIXFS?HFj4-?+@N-LWEc8B@l-lk`wE@$(+|wG0@Hv{u@A zDDmNEY8wg+khz6yEw)o(Kq&e45Ua1wQ&PwjZ!*zuEQ z(S35x!ly&XfRMOU?61yXfM76IqYrQqad7k%fKCaO_?U7Npa5DagP(2H5$Zy;FT$i{ z^4hEUlxnSljJNz_HM=UO;`e(gzfd?|)mc?GLV%Bo;IaAzmWl|TMB=s>hDre$@Z4=)d>W|1wEVfA&Rh-q{A^o zN#~hI?8UNH_I!9W4TzwcVAtPTY#w;_6CSUYN-65*`$W4?V?5085Fz6-SJBA&!a^_E zVWpjO7-n#=KtRPp0Us0AfxcMKi*vA{h6VlKdMd%>479xYUehbH2k z$ylT1H5l67ktIZw+Kt8#5*A30qF*+C_h%#}?`qq`Aeh@6EA8U)GUDwz`MYBO=+D@V z^?tOy&wYu4}J5guW%$;g$_1;<~_k31~L5|$W@r)gelk6&3f;l(mYuf;(z8u_= zi>p|*7S*=1#$(D#&OiYl#Oq07rv;O*!h5JxJarb|P2%;I?!^R!%|8nk+3!0#lnIK8 z6o+u-TV<8hY#VvaJnx=!L{?k7A5b7|OdeH<6ChYk0JLHGt z+~W=WBb(#Os1eMTp^$gJ2Z^YS2Unt$(i=YEJ&c)UE{@pJx3CqcO7sv8=3nWDcZu(5 zKSvymp6u)APmt5_IkPc(1{o0Q=}%wRj2rT5<}`ONV7YoIJGnSP>RFavnGnr<_iJ#U z<&yy41qzUgL|r|*NAyr6zgTRXp1e_W7(e(4m_ zTG`Bx?)YDt_P@!#gcd4TdIYQ#y>AE~*benUuRaYsr?OO4xbh_}-dB_v+6o<^SksAb z{m{5mSqGifZ0%S@BXHqDerf#OMZJCAB2yu9o6uAmRONaNM{BtLlrjFibu;{)FoYbo zUCLrkUXLi=ys2Z#vh!=?qbfW*?H?%b+uLF0Ed7Fhuc_kQi}x)GnCym3GtkXU5_P|w z>0}+YuC^5oPnD&lejkHCWpO%Jj#@v=U2gOl8P+I+zLJI?>)N!(+jj~*xRnfLYNn7Pg7D8$eW(|=va&Q?x*kXBr`C5K{X-ni78{@Om%Yd% z>P+Yh4R|NsJ(x~=Qb{=WD>u@^g>2Yz%@%3{covK*smrPH!rounR>m~SHqTYt*Ka5K zH}a&3yEoq^*e#efB0!%eO1DGzi}FjiCr)Zadxg>%^n!S_>zvh>`xbYXEl#N(RQ%3Y z=iaIe`wS!3ptD(0t&@VMk;^nuL}UFvV=uNhx0iAhG`W62sUxEF&1e$?KK>=E#L6J` z;SKuPt)H$`G$^K{Q;5^O^x#8UKK>=Sij%!PX-l#40*f-8I1U#0F0g+C_+&96_?BYU zR=40wEU=UdeF>IrhA+MW(57c7DxI)GXLXvN?3Ch`nw{0d%EzoQC%45+U8YZI!UJ*3 z+b%xT1oBE$J?5)%8i$rwVwe>1?W<2=p~gK=?+AR0s@g;@6=XRGNZk0ce%p3l(9ro( z5SmkTzL} zZ#P|E2w_t(3zZ21mYZyEdBX8SQ3+RFSVH{3o*bk9oQ4`EkqgeTQP@EWZc&5hWb@ z%L>*W_+?sEGrTmivm1{WHNGYShbn|e^HF7cTX|?e`w>#~(R}5yu$`-@eoEz!^$Qtt zohE}Gi@Vh+X7vMj@mAo}k-v|$oRVSkU`GSHcz$J+mUXg-$G$1`{nd*4wt`z5rKRb& zS>J}~2g#Ls4XS>xa_;M?VoXV>*;HtLdh9;soWJ~U_qK<`#rgRt!DUwB3zULaml1q$ zj9#9C>|tG>O{1kLvkl@=^qtJRw(Ytt2DQo>fMnXK0)NHl?T@#%li?4vLoJ6>YDEwz z?b4>meM6h9%d}+YN`AGNNypY&2HmF`RZljF>#ef~eunr$?PxZ(h`Na94MjeD1|!MT z!k_MzbG-5d4^EtZlelH=))=VKNvv+RHV-}Ea^amBA67ZBP@TV+fk^xvk6drt$r0JS zJVzFv*Kj5Te)q)Hzje{p|5{SdVYnx+_8}a7i=WLzrNe!rzL~5vK5!h7cBS9rGR+UH zNU38QG}HW4wEf^8-EXBK>2mj>hK`LjdzdVDT#xem?P?9S)FnT^bDxKv?O=2?7hG0^ zaquj|rTu0-np4#_6ek@QJTK9sM0t6$?)x*K@DH)>P=a}e8*Jw02eId|e}D2-rpr$8 z{`eBr)zK1|uNiTBU@l0C8$JCHWDXMCH_#hoB-{&FGE>c6Bz%XCj#K>pel$6 zGmLM2S?(Dp@&=oh@A^OF3qV~Ln)7T;8;(1+nS*9|CO$~oJ^vWXM|LHhq~Jf>F|5VTw*`PYJ- z01b@!d<~Tm9{(j2J}3AUCofa}hU$NkUz_I8i@ZSI`62j##K02Da2HAU|3t(3aTvVo zLvVXkL_l#*;`ZnN`m1veu5FAg4M~9LC^U58Kb#F4Wf#N=TL1J9qSL~hd7H%k`|y9F m?Ejr9|6f`6|MvsCPmmd@zqNd-c3mK{1QcXc-&9DMz5gG)8}NYu literal 0 HcmV?d00001 diff --git a/changelog/2022.12.0.rst b/changelog/2022.12.0.rst new file mode 100644 index 000000000..9cdea80e4 --- /dev/null +++ b/changelog/2022.12.0.rst @@ -0,0 +1,163 @@ +ESPHome 2022.12.0 - 14th December 2022 +====================================== + +.. seo:: + :description: Changelog for ESPHome 2022.12.0. + :image: /_static/changelog-2022.12.0.png + :author: Jesse Hills + :author_twitter: @jesserockz + +.. imgtable:: + :columns: 3 + + ESP32, components/esp32, esp32.svg + Bluetooth Proxy, components/bluetooth_proxy, bluetooth.svg + SN74HC165 I/O Expander, components/sn74hc165, sn74hc595.jpg + +The festive holidays are coming early and bring you an ESPHome release 1 week earlier than normal. +This release does not bring a bunch of new components like most releases, but instead the focus +has been on upgrading the core Arduino and ESP-IDF versions used for the ESP32 based devices. + +The Bluetooth Proxy has also had a whole lot of work done by :ghuser:`bdraco` under the hood to +improve the stability, speed and reliability between Home Assistant and the bluetooth devices +that get proxied through. + +Full list of changes +-------------------- + +New Features +^^^^^^^^^^^^ + +- PID Climate - deadband and output sampling :esphomepr:`3254` by :ghuser:`patrickcollins12` (new-feature) + +New Components +^^^^^^^^^^^^^^ + +- Add sn74hc165 input shift register :esphomepr:`4151` by :ghuser:`jesserockz` (new-integration) + +Breaking Changes +^^^^^^^^^^^^^^^^ + +- Update esp32 arduino and platform versions :esphomepr:`3564` by :ghuser:`jesserockz` (notable-change) (breaking-change) + +Notable Changes +^^^^^^^^^^^^^^^ + +- Update esp32 arduino and platform versions :esphomepr:`3564` by :ghuser:`jesserockz` (notable-change) (breaking-change) +- Update ESP-IDF and platform version :esphomepr:`3565` by :ghuser:`jesserockz` (notable-change) + +All changes +^^^^^^^^^^^ + +- Bump colorama from 0.4.5 to 0.4.6 :esphomepr:`4010` by :ghuser:`dependabot[bot]` +- Bump frenck/action-yamllint from 1.3.0 to 1.3.1 :esphomepr:`4011` by :ghuser:`dependabot[bot]` +- add two new icons :esphomepr:`3963` by :ghuser:`nagyrobi` +- Move CONF_INTERRUPT_PIN to const.py :esphomepr:`4014` by :ghuser:`jesserockz` +- Bump pyupgrade from 3.2.0 to 3.2.2 :esphomepr:`4017` by :ghuser:`dependabot[bot]` +- Add reset_reason text sensor to debug component :esphomepr:`3814` by :ghuser:`kuba2k2` +- remove unused variable last_save_ in total_daily_energy :esphomepr:`4039` by :ghuser:`bkaufx` +- Bump base image versions to latest :esphomepr:`4016` by :ghuser:`jesserockz` +- Add number device class support :esphomepr:`4042` by :ghuser:`frenck` +- Update esp32 arduino and platform versions :esphomepr:`3564` by :ghuser:`jesserockz` (notable-change) (breaking-change) +- Update esp32 boards list :esphomepr:`4056` by :ghuser:`jesserockz` +- Add Lolin S2 Mini board :esphomepr:`3264` by :ghuser:`jhamhader` +- Add pin aliases for upesy boards :esphomepr:`3794` by :ghuser:`uPesy` +- Bump pylint from 2.15.5 to 2.15.6 :esphomepr:`4058` by :ghuser:`dependabot[bot]` +- fix display_menu recursive schema gen :esphomepr:`4045` by :ghuser:`glmnet` +- Remove manual handling of ethernet power pin :esphomepr:`4062` by :ghuser:`jesserockz` +- Bump aioesphomeapi from 11.4.3 to 12.0.0 :esphomepr:`4070` by :ghuser:`dependabot[bot]` +- Update ESP-IDF and platform version :esphomepr:`3565` by :ghuser:`jesserockz` (notable-change) +- Always use brackets around single log macros :esphomepr:`4072` by :ghuser:`jesserockz` +- Midea ir templatable code :esphomepr:`4053` by :ghuser:`reidprojects` +- Boards: Adafruit QT Py ESP32 Pico/C3/S2 :esphomepr:`4064` by :ghuser:`jenscski` +- Dont set esp32 pin drive strength unless pin is set for output :esphomepr:`4075` by :ghuser:`jesserockz` +- Don't allow debug component if you don't have at least debug logging level :esphomepr:`4076` by :ghuser:`jesserockz` +- Remove a bunch of unnecessary pylint disabling :esphomepr:`4079` by :ghuser:`jesserockz` +- Update ESP32-audioI2S library :esphomepr:`4073` by :ghuser:`jesserockz` +- Add vector includes :esphomepr:`4080` by :ghuser:`jesserockz` +- Allow manually specifying binary file to OTA :esphomepr:`4054` by :ghuser:`jesserockz` +- Fix regressed 'esphome run' :esphomepr:`4094` by :ghuser:`mmakaay` +- Make parse_characteristics and parse_descriptors lazy to reduce memory pressure :esphomepr:`4063` by :ghuser:`bdraco` +- Speed up BLE connections :esphomepr:`4093` by :ghuser:`bdraco` +- Align BLE service logging :esphomepr:`4095` by :ghuser:`bdraco` +- Suppress logging unhandled ESP_BLE_AD_TYPE_INT_RANGE :esphomepr:`4096` by :ghuser:`bdraco` +- Make sure all BLE address strings are uppercase :esphomepr:`4097` by :ghuser:`bdraco` +- Add logging for BLE connection slots :esphomepr:`4098` by :ghuser:`bdraco` +- Fix registering for gatt notify when characteristic only support indicate :esphomepr:`4092` by :ghuser:`bdraco` +- Fix descriptors not being deleted :esphomepr:`4104` by :ghuser:`bdraco` +- Improve reliability of bluetooth active connections :esphomepr:`4049` by :ghuser:`bdraco` +- Always use generated api options from aioesphomeapi :esphomepr:`4116` by :ghuser:`jesserockz` +- Fix bluetooth_gatt_write_descriptor never getting a response :esphomepr:`4112` by :ghuser:`bdraco` +- Combine the scanner failure check so we only stop the scanner once :esphomepr:`4111` by :ghuser:`bdraco` +- Reduce memory needed to send the services list :esphomepr:`4110` by :ghuser:`bdraco` +- Avoid parsing characteristics and descriptors to reduce memory pressure :esphomepr:`4109` by :ghuser:`bdraco` +- Send device address type alongside ble advertisements :esphomepr:`4115` by :ghuser:`jesserockz` +- Remove uuid lookups from BLE read/write/notify characteristics :esphomepr:`4102` by :ghuser:`bdraco` +- Active BLE connection v3 :esphomepr:`4113` by :ghuser:`bdraco` +- preprocess out proto_enum_to_string if not needed :esphomepr:`4119` by :ghuser:`jesserockz` +- Bump aioesphomeapi from 12.0.0 to 12.2.0 :esphomepr:`4120` by :ghuser:`dependabot[bot]` +- Avoid parsing services with v3 connections without cache :esphomepr:`4117` by :ghuser:`bdraco` +- FIX: Unnecessary flash writes by ModbusSwitch component :esphomepr:`3648` by :ghuser:`jpeletier` +- Speed up uuid parsing when fetching the service list :esphomepr:`4121` by :ghuser:`bdraco` +- modbus_switch: honor switch:restore_mode :esphomepr:`4122` by :ghuser:`jpeletier` +- PID Climate - deadband and output sampling :esphomepr:`3254` by :ghuser:`patrickcollins12` (new-feature) +- Allow auto setting of ble client id if there is only 1 in config :esphomepr:`4125` by :ghuser:`jesserockz` +- fix RESTORE_INVERTED switch:restore_mode :esphomepr:`4129` by :ghuser:`jpeletier` +- Bump pylint from 2.15.6 to 2.15.7 :esphomepr:`4127` by :ghuser:`dependabot[bot]` +- Allow global setting of compile process limit :esphomepr:`4081` by :ghuser:`jesserockz` +- Bump flake8 from 5.0.4 to 6.0.0 :esphomepr:`4084` by :ghuser:`dependabot[bot]` +- Bump arduino pico and update wifi methods :esphomepr:`4144` by :ghuser:`jesserockz` +- Bump aioesphomeapi from 12.2.0 to 12.2.1 :esphomepr:`4133` by :ghuser:`dependabot[bot]` +- Bump esptool from 3.3.1 to 4.4 :esphomepr:`4071` by :ghuser:`dependabot[bot]` +- Fix mismatched flake8 version in pre-commit :esphomepr:`4145` by :ghuser:`jesserockz` +- Detect BLE stack unrecoverable state :esphomepr:`4128` by :ghuser:`bdraco` +- Bump pylint from 2.15.7 to 2.15.8 :esphomepr:`4148` by :ghuser:`dependabot[bot]` +- Fix crash with bluetooth tracker and esp-idf :esphomepr:`4140` by :ghuser:`bdraco` +- Use ENTITY_CATEGORY_CONFIG for sprinkler config switches. :esphomepr:`4141` by :ghuser:`schinckel` +- fix switch initialization :esphomepr:`4153` by :ghuser:`ssieb` +- Change 4 chip limit on sn74hc595 to 256 :esphomepr:`4108` by :ghuser:`jesserockz` +- Add reports fahrenheit to tuya climate :esphomepr:`4032` by :ghuser:`jesserockz` +- Allow dashboard import to pull complete file from github :esphomepr:`3982` by :ghuser:`jesserockz` +- Invalid config for waveshare models with no full_update_every :esphomepr:`4066` by :ghuser:`Nizzle` +- Add sn74hc165 input shift register :esphomepr:`4151` by :ghuser:`jesserockz` (new-integration) +- Fixed deep sleep for ESP32C3 :esphomepr:`4143` by :ghuser:`pistifonok` +- ESP32 IDF: Override toolchain-esp32ulp with espressifs own published version :esphomepr:`4155` by :ghuser:`jesserockz` +- Add API for dashboard to get boards list :esphomepr:`4154` by :ghuser:`jesserockz` +- Bump pytest-asyncio from 0.20.1 to 0.20.2 :esphomepr:`4019` by :ghuser:`dependabot[bot]` +- Bump pyupgrade from 3.2.2 to 3.3.0 :esphomepr:`4137` by :ghuser:`dependabot[bot]` +- Bump dessant/lock-threads from 3 to 4 :esphomepr:`4150` by :ghuser:`dependabot[bot]` +- Bump aioesphomeapi from 12.2.1 to 13.0.1 :esphomepr:`4149` by :ghuser:`dependabot[bot]` +- Bump esphome-dashboard to 20221207.0 :esphomepr:`4156` by :ghuser:`jesserockz` + +Past Changelogs +--------------- + +- :doc:`2022.11.0` +- :doc:`2022.10.0` +- :doc:`2022.9.0` +- :doc:`2022.8.0` +- :doc:`2022.6.0` +- :doc:`2022.5.0` +- :doc:`2022.4.0` +- :doc:`2022.3.0` +- :doc:`2022.2.0` +- :doc:`2022.1.0` +- :doc:`2021.12.0` +- :doc:`2021.11.0` +- :doc:`2021.10.0` +- :doc:`2021.9.0` +- :doc:`2021.8.0` +- :doc:`v1.20.0` +- :doc:`v1.19.0` +- :doc:`v1.18.0` +- :doc:`v1.17.0` +- :doc:`v1.16.0` +- :doc:`v1.15.0` +- :doc:`v1.14.0` +- :doc:`v1.13.0` +- :doc:`v1.12.0` +- :doc:`v1.11.0` +- :doc:`v1.10.0` +- :doc:`v1.9.0` +- :doc:`v1.8.0` +- :doc:`v1.7.0` From 6bdc957f8c169dcdde8f14c645bf4e4d4eaca29d Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 7 Dec 2022 17:12:46 +1300 Subject: [PATCH 18/38] Update supporters for 2022.12.0b1 --- guides/supporters.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/guides/supporters.rst b/guides/supporters.rst index 4f5dc4810..97de10c27 100644 --- a/guides/supporters.rst +++ b/guides/supporters.rst @@ -204,12 +204,10 @@ Contributors - `Dav-id (@dav-id-org) `__ - `DAVe3283 (@DAVe3283) `__ - `Dave Richer (@davericher) `__ -- `davestubbs (@davestubbs) `__ - `Dave T (@davet2001) `__ - `Dave Wongillies (@davewongillies) `__ - `David De Sloovere (@DavidDeSloovere) `__ - `David Beitey (@davidjb) `__ -- `davidmonro (@davidmonro) `__ - `David Zovko (@davidzovko) `__ - `Davy Landman (@DavyLandman) `__ - `Darren Tucker (@daztucker) `__ @@ -643,12 +641,14 @@ Contributors - `niklasweber (@niklasweber) `__ - `Niorix (@Niorix) `__ - `Zvonimir Haramustek (@nitko12) `__ +- `Dennis (@Nizzle) `__ - `nldroid (@nldroid) `__ - `Niccolò Maggioni (@nmaggioni) `__ - `Jan Sandbrink (@NobodysNightmare) `__ - `Łukasz Śliwiński (@nonameplum) `__ - `Greg Johnson (@notgwj) `__ - `nouser2013 (@nouser2013) `__ +- `Stephen Edgar (@ntwb) `__ - `Stanislav Meduna (@numo68) `__ - `Nuno Sousa (@nunofgs) `__ - `Maksym Lunin (@nut-code-monkey) `__ @@ -747,6 +747,7 @@ Contributors - `Jan Čermák (@sairon) `__ - `sascha lammers (@sascha432) `__ - `Søren Christian Aarup (@scaarup) `__ +- `Matthew Schinckel (@schinckel) `__ - `Nils Schulte (@Schnilz) `__ - `Wolle (@schreibfaul1) `__ - `Ville Skyttä (@scop) `__ @@ -903,4 +904,4 @@ Contributors - `Zack Barett (@zsarnett) `__ - `Christian Zufferey (@zuzu59) `__ -*This page was last updated December 6, 2022.* +*This page was last updated December 7, 2022.* From 1025f217717922220df8468cd2fed7d1948be246 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 7 Dec 2022 17:16:28 +1300 Subject: [PATCH 19/38] Fix --- changelog/2022.12.0.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog/2022.12.0.rst b/changelog/2022.12.0.rst index 9cdea80e4..400390c91 100644 --- a/changelog/2022.12.0.rst +++ b/changelog/2022.12.0.rst @@ -55,7 +55,7 @@ All changes - Move CONF_INTERRUPT_PIN to const.py :esphomepr:`4014` by :ghuser:`jesserockz` - Bump pyupgrade from 3.2.0 to 3.2.2 :esphomepr:`4017` by :ghuser:`dependabot[bot]` - Add reset_reason text sensor to debug component :esphomepr:`3814` by :ghuser:`kuba2k2` -- remove unused variable last_save_ in total_daily_energy :esphomepr:`4039` by :ghuser:`bkaufx` +- remove unused variable last_save in total_daily_energy :esphomepr:`4039` by :ghuser:`bkaufx` - Bump base image versions to latest :esphomepr:`4016` by :ghuser:`jesserockz` - Add number device class support :esphomepr:`4042` by :ghuser:`frenck` - Update esp32 arduino and platform versions :esphomepr:`3564` by :ghuser:`jesserockz` (notable-change) (breaking-change) From 2f5256b1cad90ed010418a1dad18757f7bf589f7 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Thu, 8 Dec 2022 13:42:26 +1300 Subject: [PATCH 20/38] Bump version to 2022.12.0b2 --- Doxygen | 2 +- Makefile | 2 +- _static/version | 2 +- conf.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Doxygen b/Doxygen index d8beab513..051cadfe5 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 = 2022.12.0b1 +PROJECT_NUMBER = 2022.12.0b2 # 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 bfa492d16..83d53a843 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ ESPHOME_PATH = ../esphome -ESPHOME_REF = 2022.12.0b1 +ESPHOME_REF = 2022.12.0b2 .PHONY: html html-strict cleanhtml deploy help live-html Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png minify diff --git a/_static/version b/_static/version index 50820cef9..d1dbdb667 100644 --- a/_static/version +++ b/_static/version @@ -1 +1 @@ -2022.12.0b1 \ No newline at end of file +2022.12.0b2 \ No newline at end of file diff --git a/conf.py b/conf.py index d6681ab82..1b8b3facb 100644 --- a/conf.py +++ b/conf.py @@ -69,7 +69,7 @@ author = "ESPHome" # The short X.Y version. version = "2022.12" # The full version, including alpha/beta/rc tags. -release = "2022.12.0b1" +release = "2022.12.0b2" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From f0befcc43ed9785223dd8eaffcc6533f6bb26e3a Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Thu, 8 Dec 2022 13:43:20 +1300 Subject: [PATCH 21/38] Update changelog for 2022.12.0b2 --- changelog/2022.12.0.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/changelog/2022.12.0.rst b/changelog/2022.12.0.rst index 400390c91..54de8a2aa 100644 --- a/changelog/2022.12.0.rst +++ b/changelog/2022.12.0.rst @@ -46,6 +46,11 @@ Notable Changes - Update esp32 arduino and platform versions :esphomepr:`3564` by :ghuser:`jesserockz` (notable-change) (breaking-change) - Update ESP-IDF and platform version :esphomepr:`3565` by :ghuser:`jesserockz` (notable-change) +Beta Changes +^^^^^^^^^^^^ + +- Fix ble parsing with zero padded advertisements :esphomepr:`4162` by :ghuser:`jesserockz` + All changes ^^^^^^^^^^^ From 9706d89874bbeaa81ebfe140162b71b80121c7c3 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Thu, 8 Dec 2022 13:43:55 +1300 Subject: [PATCH 22/38] Update supporters for 2022.12.0b2 --- guides/supporters.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guides/supporters.rst b/guides/supporters.rst index 97de10c27..7b32aa423 100644 --- a/guides/supporters.rst +++ b/guides/supporters.rst @@ -191,7 +191,6 @@ Contributors - `Luar Roji (@cyberplant) `__ - `Aleš Komárek (@cznewt) `__ - `d-two (@d-two) `__ -- `dab0g (@dab0g) `__ - `Dale Higgs (@dale3h) `__ - `damanti-me (@damanti-me) `__ - `Daniel Bjørnbakk (@danibjor) `__ @@ -447,6 +446,7 @@ Contributors - `Joe Gross (@joegross) `__ - `Johan van der Kuijl (@johanvanderkuijl) `__ - `Johboh (@Johboh) `__ +- `John Britton (@johndbritton) `__ - `John Erik Halse (@johnerikhalse) `__ - `John Moxley (@johnmoxley) `__ - `JonasEr (@JonasEr) `__ @@ -904,4 +904,4 @@ Contributors - `Zack Barett (@zsarnett) `__ - `Christian Zufferey (@zuzu59) `__ -*This page was last updated December 7, 2022.* +*This page was last updated December 8, 2022.* From a19070a89944575845bb5228a89a9b1f040b27b9 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Fri, 9 Dec 2022 20:48:44 +1300 Subject: [PATCH 23/38] Fix changelog redirect --- changelog/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog/index.rst b/changelog/index.rst index ab582c12b..69bb6cf0b 100644 --- a/changelog/index.rst +++ b/changelog/index.rst @@ -2,7 +2,7 @@ Changelog ========= .. redirect:: - :url: /changelog/2022.11.0.html + :url: /changelog/2022.12.0.html .. toctree:: :glob: From a6b6a1f2cdd66b4358e93f69c520746ba733e36a Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Fri, 9 Dec 2022 10:24:37 +1300 Subject: [PATCH 24/38] Add import_full_config to creators page (#2513) Co-authored-by: Paulus Schoutsen --- guides/creators.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/guides/creators.rst b/guides/creators.rst index e41e9ac2b..05389b7ca 100644 --- a/guides/creators.rst +++ b/guides/creators.rst @@ -40,6 +40,7 @@ Example configuration # This should point to the public location of this yaml file. dashboard_import: package_import_url: github://esphome/esphome-project-template/project-template-esp32.yaml@v6 + import_full_config: false # or true wifi: # Set up a wifi access point @@ -72,9 +73,11 @@ Relevant Documentation - ``wifi`` -> ``ap`` allows you to flash a device that will not contain any credentials and they must be set by the user via either the ``ap`` + ``captive_portal`` or the ``esp32_improv`` / ``improv_serial`` components. -- ``dashboard_import`` -> ``package_import_url`` - This should point to the public repository containing +- ``dashboard_import`` + - ``package_import_url`` - This should point to the public repository containing the configuration for the device so that the user's ESPHome dashboard can autodetect this device and create a minimal YAML using :ref:`config-git_packages`. + - ``import_full_config`` - This signals if ESPHome should download the entire YAML file as the user's config YAML instead of referencing the package. Set this to `true` if you are creating a tutorial to let users easily tweak the whole configuration or be able to uncomment follow-up tutorial steps. - ``improv_serial`` - :doc:`/components/improv_serial` See Also From d87db7a94539e6d3e440ac2119b13077e2b1f0d7 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Mon, 12 Dec 2022 17:19:14 +1300 Subject: [PATCH 25/38] Bump version to 2022.12.0b3 --- Doxygen | 2 +- Makefile | 2 +- _static/version | 2 +- conf.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Doxygen b/Doxygen index 051cadfe5..ac5344a8a 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 = 2022.12.0b2 +PROJECT_NUMBER = 2022.12.0b3 # 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 83d53a843..9744925e2 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ ESPHOME_PATH = ../esphome -ESPHOME_REF = 2022.12.0b2 +ESPHOME_REF = 2022.12.0b3 .PHONY: html html-strict cleanhtml deploy help live-html Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png minify diff --git a/_static/version b/_static/version index d1dbdb667..e56d22923 100644 --- a/_static/version +++ b/_static/version @@ -1 +1 @@ -2022.12.0b2 \ No newline at end of file +2022.12.0b3 \ No newline at end of file diff --git a/conf.py b/conf.py index 1b8b3facb..a031082b2 100644 --- a/conf.py +++ b/conf.py @@ -69,7 +69,7 @@ author = "ESPHome" # The short X.Y version. version = "2022.12" # The full version, including alpha/beta/rc tags. -release = "2022.12.0b2" +release = "2022.12.0b3" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From 36c87d712b7ad6f24a6da531ef24d7218e56f663 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Mon, 12 Dec 2022 17:20:02 +1300 Subject: [PATCH 26/38] Update changelog for 2022.12.0b3 --- changelog/2022.12.0.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/changelog/2022.12.0.rst b/changelog/2022.12.0.rst index 54de8a2aa..f556034dd 100644 --- a/changelog/2022.12.0.rst +++ b/changelog/2022.12.0.rst @@ -50,6 +50,7 @@ Beta Changes ^^^^^^^^^^^^ - Fix ble parsing with zero padded advertisements :esphomepr:`4162` by :ghuser:`jesserockz` +- Increase watchdog timeout when starting OTA :esphomepr:`4172` by :ghuser:`jesserockz` All changes ^^^^^^^^^^^ From 7e2be1e87337cebe317bec710bf1ccfa8feeb64c Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Mon, 12 Dec 2022 17:20:38 +1300 Subject: [PATCH 27/38] Update supporters for 2022.12.0b3 --- guides/supporters.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/guides/supporters.rst b/guides/supporters.rst index 7b32aa423..4f35b7ad4 100644 --- a/guides/supporters.rst +++ b/guides/supporters.rst @@ -190,7 +190,6 @@ Contributors - `Alex Solomaha (@CyanoFresh) `__ - `Luar Roji (@cyberplant) `__ - `Aleš Komárek (@cznewt) `__ -- `d-two (@d-two) `__ - `Dale Higgs (@dale3h) `__ - `damanti-me (@damanti-me) `__ - `Daniel Bjørnbakk (@danibjor) `__ @@ -608,6 +607,7 @@ Contributors - `mnltake (@mnltake) `__ - `Matt N. (@mnoorenberghe) `__ - `Moritz Glöckl (@moritzgloeckl) `__ +- `Chris Laplante (@mostthingsweb) `__ - `Matthew Pettitt (@mpettitt) `__ - `Sam Hughes (@MrEditor97) `__ - `Mariusz Kryński (@mrk-its) `__ @@ -887,13 +887,13 @@ Contributors - `Wolfgang Tremmel (@wtremmel) `__ - `Wumpf (@Wumpf) `__ - `wysiwyng (@wysiwyng) `__ -- `Mike (@xsnoopy) `__ - `Yaroslav (@Yarikx) `__ - `Marcin Jaworski (@yawor) `__ - `Pavel (@yekm) `__ - `Atsuko Ito (@yottatsa) `__ - `Nico B (@youknow0) `__ - `Yuval Aboulafia (@yuvalabou) `__ +- `Björn Stenberg (@zagor) `__ - `david reid (@zathras777) `__ - `Zebble (@Zebble) `__ - `ZJY (@zhangjingye03) `__ @@ -904,4 +904,4 @@ Contributors - `Zack Barett (@zsarnett) `__ - `Christian Zufferey (@zuzu59) `__ -*This page was last updated December 8, 2022.* +*This page was last updated December 12, 2022.* From 65c04df0a1f6837858061eb476fcfa95681b258e Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Tue, 13 Dec 2022 09:13:30 +1300 Subject: [PATCH 28/38] Bump version to 2022.12.0b4 --- Doxygen | 2 +- Makefile | 2 +- _static/version | 2 +- conf.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Doxygen b/Doxygen index ac5344a8a..7643bda91 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 = 2022.12.0b3 +PROJECT_NUMBER = 2022.12.0b4 # 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 9744925e2..9e1abf84b 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ ESPHOME_PATH = ../esphome -ESPHOME_REF = 2022.12.0b3 +ESPHOME_REF = 2022.12.0b4 .PHONY: html html-strict cleanhtml deploy help live-html Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png minify diff --git a/_static/version b/_static/version index e56d22923..b3c3b5bfe 100644 --- a/_static/version +++ b/_static/version @@ -1 +1 @@ -2022.12.0b3 \ No newline at end of file +2022.12.0b4 \ No newline at end of file diff --git a/conf.py b/conf.py index a031082b2..14a9a36c7 100644 --- a/conf.py +++ b/conf.py @@ -69,7 +69,7 @@ author = "ESPHome" # The short X.Y version. version = "2022.12" # The full version, including alpha/beta/rc tags. -release = "2022.12.0b3" +release = "2022.12.0b4" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From 0c898c423a9dea9d08ad756db82526e15ec3fa30 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Tue, 13 Dec 2022 09:14:04 +1300 Subject: [PATCH 29/38] Update changelog for 2022.12.0b4 --- changelog/2022.12.0.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/changelog/2022.12.0.rst b/changelog/2022.12.0.rst index f556034dd..8d8a2480c 100644 --- a/changelog/2022.12.0.rst +++ b/changelog/2022.12.0.rst @@ -51,6 +51,7 @@ Beta Changes - Fix ble parsing with zero padded advertisements :esphomepr:`4162` by :ghuser:`jesserockz` - Increase watchdog timeout when starting OTA :esphomepr:`4172` by :ghuser:`jesserockz` +- Bump esphome-dashboard to 20221213.0 :esphomepr:`4176` by :ghuser:`jesserockz` All changes ^^^^^^^^^^^ From b064f5ff80c5996fcdce4ba3e278523cd4ea75d0 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Tue, 13 Dec 2022 09:14:40 +1300 Subject: [PATCH 30/38] Update supporters for 2022.12.0b4 --- guides/supporters.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/supporters.rst b/guides/supporters.rst index 4f35b7ad4..72970724a 100644 --- a/guides/supporters.rst +++ b/guides/supporters.rst @@ -904,4 +904,4 @@ Contributors - `Zack Barett (@zsarnett) `__ - `Christian Zufferey (@zuzu59) `__ -*This page was last updated December 12, 2022.* +*This page was last updated December 13, 2022.* From 485793ca08c658acabe9494a2823782cef4938e7 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Tue, 13 Dec 2022 13:58:45 +1300 Subject: [PATCH 31/38] Bump version to 2022.12.0b5 --- Doxygen | 2 +- Makefile | 2 +- _static/version | 2 +- conf.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Doxygen b/Doxygen index 7643bda91..7a9050a82 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 = 2022.12.0b4 +PROJECT_NUMBER = 2022.12.0b5 # 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 9e1abf84b..a11b1d217 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ ESPHOME_PATH = ../esphome -ESPHOME_REF = 2022.12.0b4 +ESPHOME_REF = 2022.12.0b5 .PHONY: html html-strict cleanhtml deploy help live-html Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png minify diff --git a/_static/version b/_static/version index b3c3b5bfe..3bc589c48 100644 --- a/_static/version +++ b/_static/version @@ -1 +1 @@ -2022.12.0b4 \ No newline at end of file +2022.12.0b5 \ No newline at end of file diff --git a/conf.py b/conf.py index 14a9a36c7..1a9a2cdd2 100644 --- a/conf.py +++ b/conf.py @@ -69,7 +69,7 @@ author = "ESPHome" # The short X.Y version. version = "2022.12" # The full version, including alpha/beta/rc tags. -release = "2022.12.0b4" +release = "2022.12.0b5" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From 77aafd7e5db5fe17d35714d24ca5ec5f01814eb0 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Tue, 13 Dec 2022 13:59:52 +1300 Subject: [PATCH 32/38] Update changelog for 2022.12.0b5 --- changelog/2022.12.0.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelog/2022.12.0.rst b/changelog/2022.12.0.rst index 8d8a2480c..b749c825b 100644 --- a/changelog/2022.12.0.rst +++ b/changelog/2022.12.0.rst @@ -52,6 +52,8 @@ Beta Changes - Fix ble parsing with zero padded advertisements :esphomepr:`4162` by :ghuser:`jesserockz` - Increase watchdog timeout when starting OTA :esphomepr:`4172` by :ghuser:`jesserockz` - Bump esphome-dashboard to 20221213.0 :esphomepr:`4176` by :ghuser:`jesserockz` +- Remove internal pin restriction from cd74hc4067 :esphomepr:`4179` by :ghuser:`jesserockz` +- Speed up bluetooth proxy connections when using esp-idf :esphomepr:`4171` by :ghuser:`bdraco` (notable-change) All changes ^^^^^^^^^^^ From 045bef2c61ee22728f5db99565605ccc3ca6f2a7 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 14 Dec 2022 12:03:04 +1300 Subject: [PATCH 33/38] Bump version to 2022.12.0b6 --- Doxygen | 2 +- Makefile | 2 +- _static/version | 2 +- conf.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Doxygen b/Doxygen index 7a9050a82..cbc412f35 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 = 2022.12.0b5 +PROJECT_NUMBER = 2022.12.0b6 # 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 a11b1d217..0771515ee 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ ESPHOME_PATH = ../esphome -ESPHOME_REF = 2022.12.0b5 +ESPHOME_REF = 2022.12.0b6 .PHONY: html html-strict cleanhtml deploy help live-html Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png minify diff --git a/_static/version b/_static/version index 3bc589c48..0cee532fe 100644 --- a/_static/version +++ b/_static/version @@ -1 +1 @@ -2022.12.0b5 \ No newline at end of file +2022.12.0b6 \ No newline at end of file diff --git a/conf.py b/conf.py index 1a9a2cdd2..3aab2482b 100644 --- a/conf.py +++ b/conf.py @@ -69,7 +69,7 @@ author = "ESPHome" # The short X.Y version. version = "2022.12" # The full version, including alpha/beta/rc tags. -release = "2022.12.0b5" +release = "2022.12.0b6" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From dc32a8743ee73429fdb0338da55686d15545a1f7 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 14 Dec 2022 12:03:32 +1300 Subject: [PATCH 34/38] Update changelog for 2022.12.0b6 --- changelog/2022.12.0.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelog/2022.12.0.rst b/changelog/2022.12.0.rst index b749c825b..1e79e8cc6 100644 --- a/changelog/2022.12.0.rst +++ b/changelog/2022.12.0.rst @@ -54,6 +54,8 @@ Beta Changes - Bump esphome-dashboard to 20221213.0 :esphomepr:`4176` by :ghuser:`jesserockz` - Remove internal pin restriction from cd74hc4067 :esphomepr:`4179` by :ghuser:`jesserockz` - Speed up bluetooth proxy connections when using esp-idf :esphomepr:`4171` by :ghuser:`bdraco` (notable-change) +- Remove warnings when falling through switch cases on purpose :esphomepr:`4181` by :ghuser:`jesserockz` +- Revert camera config change for esp-idf :esphomepr:`4182` by :ghuser:`jesserockz` All changes ^^^^^^^^^^^ From 12f920f872611a79fa5eb05e0d3af559d84c71f0 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 14 Dec 2022 12:04:08 +1300 Subject: [PATCH 35/38] Update supporters for 2022.12.0b6 --- guides/supporters.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/supporters.rst b/guides/supporters.rst index 72970724a..fa666eacb 100644 --- a/guides/supporters.rst +++ b/guides/supporters.rst @@ -904,4 +904,4 @@ Contributors - `Zack Barett (@zsarnett) `__ - `Christian Zufferey (@zuzu59) `__ -*This page was last updated December 13, 2022.* +*This page was last updated December 14, 2022.* From 37173797a48f1f5e54c58dcfc7f63a4cc89e310c Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 14 Dec 2022 16:37:39 +1300 Subject: [PATCH 36/38] Bump version to 2022.12.0 --- Doxygen | 2 +- Makefile | 2 +- _static/version | 2 +- conf.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Doxygen b/Doxygen index cbc412f35..2990c32f6 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 = 2022.12.0b6 +PROJECT_NUMBER = 2022.12.0 # 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 0771515ee..3d59ae4f7 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ ESPHOME_PATH = ../esphome -ESPHOME_REF = 2022.12.0b6 +ESPHOME_REF = 2022.12.0 .PHONY: html html-strict cleanhtml deploy help live-html Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png minify diff --git a/_static/version b/_static/version index 0cee532fe..cdf1917cc 100644 --- a/_static/version +++ b/_static/version @@ -1 +1 @@ -2022.12.0b6 \ No newline at end of file +2022.12.0 \ No newline at end of file diff --git a/conf.py b/conf.py index 3aab2482b..eaff98434 100644 --- a/conf.py +++ b/conf.py @@ -69,7 +69,7 @@ author = "ESPHome" # The short X.Y version. version = "2022.12" # The full version, including alpha/beta/rc tags. -release = "2022.12.0b6" +release = "2022.12.0" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From c72456a514256d262fb7411bec310eefb5593eb7 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 14 Dec 2022 16:42:59 +1300 Subject: [PATCH 37/38] Update changelog for 2022.12.0 --- changelog/2022.12.0.rst | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/changelog/2022.12.0.rst b/changelog/2022.12.0.rst index 1e79e8cc6..9fc4a7bc3 100644 --- a/changelog/2022.12.0.rst +++ b/changelog/2022.12.0.rst @@ -18,9 +18,22 @@ The festive holidays are coming early and bring you an ESPHome release 1 week ea This release does not bring a bunch of new components like most releases, but instead the focus has been on upgrading the core Arduino and ESP-IDF versions used for the ESP32 based devices. +Ethernet +-------- + +Because these core upgrade have aligned the version of ESP-IDF under the hood, ``ethernet`` +is now able to be used when specifying ESP-IDF as your framework of choice. + +Bluetooth Proxy +--------------- + The Bluetooth Proxy has also had a whole lot of work done by :ghuser:`bdraco` under the hood to improve the stability, speed and reliability between Home Assistant and the bluetooth devices -that get proxied through. +that get proxied through. Along with some of these bluetooth changes is a change to the +underlying flash partition table that ESPHome uses. OTA will work, but to fully take advantage +of the performance increases for bluetooth, it is best to at least one serial flash with ESPHome +2022.12.0 or later. + Full list of changes -------------------- @@ -40,12 +53,6 @@ Breaking Changes - Update esp32 arduino and platform versions :esphomepr:`3564` by :ghuser:`jesserockz` (notable-change) (breaking-change) -Notable Changes -^^^^^^^^^^^^^^^ - -- Update esp32 arduino and platform versions :esphomepr:`3564` by :ghuser:`jesserockz` (notable-change) (breaking-change) -- Update ESP-IDF and platform version :esphomepr:`3565` by :ghuser:`jesserockz` (notable-change) - Beta Changes ^^^^^^^^^^^^ @@ -57,6 +64,13 @@ Beta Changes - Remove warnings when falling through switch cases on purpose :esphomepr:`4181` by :ghuser:`jesserockz` - Revert camera config change for esp-idf :esphomepr:`4182` by :ghuser:`jesserockz` +Notable Changes +^^^^^^^^^^^^^^^ + +- Update esp32 arduino and platform versions :esphomepr:`3564` by :ghuser:`jesserockz` (notable-change) (breaking-change) +- Update ESP-IDF and platform version :esphomepr:`3565` by :ghuser:`jesserockz` (notable-change) +- Speed up bluetooth proxy connections when using esp-idf :esphomepr:`4171` by :ghuser:`bdraco` (notable-change) + All changes ^^^^^^^^^^^ @@ -66,7 +80,7 @@ All changes - Move CONF_INTERRUPT_PIN to const.py :esphomepr:`4014` by :ghuser:`jesserockz` - Bump pyupgrade from 3.2.0 to 3.2.2 :esphomepr:`4017` by :ghuser:`dependabot[bot]` - Add reset_reason text sensor to debug component :esphomepr:`3814` by :ghuser:`kuba2k2` -- remove unused variable last_save in total_daily_energy :esphomepr:`4039` by :ghuser:`bkaufx` +- remove unused variable last_save_ in total_daily_energy :esphomepr:`4039` by :ghuser:`bkaufx` - Bump base image versions to latest :esphomepr:`4016` by :ghuser:`jesserockz` - Add number device class support :esphomepr:`4042` by :ghuser:`frenck` - Update esp32 arduino and platform versions :esphomepr:`3564` by :ghuser:`jesserockz` (notable-change) (breaking-change) @@ -139,6 +153,13 @@ All changes - Bump dessant/lock-threads from 3 to 4 :esphomepr:`4150` by :ghuser:`dependabot[bot]` - Bump aioesphomeapi from 12.2.1 to 13.0.1 :esphomepr:`4149` by :ghuser:`dependabot[bot]` - Bump esphome-dashboard to 20221207.0 :esphomepr:`4156` by :ghuser:`jesserockz` +- Fix ble parsing with zero padded advertisements :esphomepr:`4162` by :ghuser:`jesserockz` +- Increase watchdog timeout when starting OTA :esphomepr:`4172` by :ghuser:`jesserockz` +- Bump esphome-dashboard to 20221213.0 :esphomepr:`4176` by :ghuser:`jesserockz` +- Remove internal pin restriction from cd74hc4067 :esphomepr:`4179` by :ghuser:`jesserockz` +- Speed up bluetooth proxy connections when using esp-idf :esphomepr:`4171` by :ghuser:`bdraco` (notable-change) +- Remove warnings when falling through switch cases on purpose :esphomepr:`4181` by :ghuser:`jesserockz` +- Revert camera config change for esp-idf :esphomepr:`4182` by :ghuser:`jesserockz` Past Changelogs --------------- From e99f875eb9a9cf10af35a661742525eb0fa607ce Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 14 Dec 2022 16:53:19 +1300 Subject: [PATCH 38/38] Fix --- changelog/2022.12.0.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog/2022.12.0.rst b/changelog/2022.12.0.rst index 9fc4a7bc3..d10f7a009 100644 --- a/changelog/2022.12.0.rst +++ b/changelog/2022.12.0.rst @@ -80,7 +80,7 @@ All changes - Move CONF_INTERRUPT_PIN to const.py :esphomepr:`4014` by :ghuser:`jesserockz` - Bump pyupgrade from 3.2.0 to 3.2.2 :esphomepr:`4017` by :ghuser:`dependabot[bot]` - Add reset_reason text sensor to debug component :esphomepr:`3814` by :ghuser:`kuba2k2` -- remove unused variable last_save_ in total_daily_energy :esphomepr:`4039` by :ghuser:`bkaufx` +- remove unused variable last_save in total_daily_energy :esphomepr:`4039` by :ghuser:`bkaufx` - Bump base image versions to latest :esphomepr:`4016` by :ghuser:`jesserockz` - Add number device class support :esphomepr:`4042` by :ghuser:`frenck` - Update esp32 arduino and platform versions :esphomepr:`3564` by :ghuser:`jesserockz` (notable-change) (breaking-change)

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%0A$k&;?1y5%M*5*1a zlcUYbct#WYp4Io)Os%HL+X6X@o#5TCF5c(WF3(biD8p#1DczL+c3ysP0k`xoQI(tj zFf3oCi)Wdh`aigU0a>#c!jEXbj^NN5B^1_NY^cR^XeqyL4m0t`4_SeBbWQ5Z5CETv zWy;28E#js?F${v2P8mlCG}#As+cSuc8lpoCxF=-J7F3W$e|-4O*7gH#bi`;*k5@m8 zLZ&vNWT9n;MDO4h_`%S0oG@{ILo=v_E8|D!tr3iy?t<+suAmM| ziRx5^6fgF1eU>z)=P!JVahiL{TfzE^?O_MGVUyzVb@8jWgRlz$q94lnI_EW+ zls3SJAsdc*;loUehIEP9f~UxpH{VaaCVkaS0^=xK1=g!agWNeN?>tB|s0%Y|90c(W zpGG&Uts(W~MoFe}rm0vmgcv$>zCah_U(i6A8Cv^$fi{e5$7@lNqX6Ex5pm?}*P<9pI`V8U&-4}Mshle;PCZv^H)$~stGv2h) zcT64E5d6-KkFL!8oP|CdYpO8Bny);`&u65sa=WhmBUTgqJv9G$3i}gXerN^=k)@t) zs;kbpi(5WjE0K0Y;7Y9&)vAGxfc$Ia|3%na22{CrU84#pCDPpu(k+sLG)O5O(%sS_ zAl