From 983ca09fdc8315713957054bb7aa4fb1215ad3a4 Mon Sep 17 00:00:00 2001 From: Gilles van den Hoven Date: Wed, 9 Nov 2022 23:07:16 +0100 Subject: [PATCH 1/4] 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 8a901cb1d91cfd11f5031ccdbb34f6c948576a8c Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Thu, 10 Nov 2022 11:08:25 +1300 Subject: [PATCH 2/4] Bump version to 2022.11.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 8bc2c31dd..f2f74d453 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.0b1 +PROJECT_NUMBER = 2022.11.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 709a09d40..eaa1d771a 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ ESPHOME_PATH = ../esphome -ESPHOME_REF = 2022.11.0b1 +ESPHOME_REF = 2022.11.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 121de79cf..e4f798a0a 100644 --- a/_static/version +++ b/_static/version @@ -1 +1 @@ -2022.11.0b1 \ No newline at end of file +2022.11.0b2 \ No newline at end of file diff --git a/conf.py b/conf.py index 897e1b72e..241a5d9dc 100644 --- a/conf.py +++ b/conf.py @@ -69,7 +69,7 @@ author = "ESPHome" # The short X.Y version. version = "2022.11" # The full version, including alpha/beta/rc tags. -release = "2022.11.0b1" +release = "2022.11.0b2" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From 2dd813669861c15662c2891c2b7193b263330f78 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Thu, 10 Nov 2022 11:48:34 +1300 Subject: [PATCH 3/4] Update changelog for 2022.11.0b2 --- _static/changelog-2022.11.0.png | Bin 0 -> 60166 bytes changelog/2022.11.0.rst | 99 ++++++++++++++++++++++++++++++-- index.rst | 1 + 3 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 _static/changelog-2022.11.0.png diff --git a/_static/changelog-2022.11.0.png b/_static/changelog-2022.11.0.png new file mode 100644 index 0000000000000000000000000000000000000000..3d28c77c9c1f148b70e121c8cb0dbe0a444b43ed GIT binary patch literal 60166 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 literal 0 HcmV?d00001 diff --git a/changelog/2022.11.0.rst b/changelog/2022.11.0.rst index 7fa7bbf19..63634d484 100644 --- a/changelog/2022.11.0.rst +++ b/changelog/2022.11.0.rst @@ -3,27 +3,74 @@ ESPHome 2022.11.0 - 16th November 2022 .. seo:: :description: Changelog for ESPHome 2022.11.0. - :image: /_static/changelog-2022.10.0.png + :image: /_static/changelog-2022.11.0.png :author: Jesse Hills :author_twitter: @jesserockz .. imgtable:: - :columns: 2 + :columns: 4 + + RP2040, components/rp2040, rp2040.svg + WL-134 Pet Tag Sensor , components/text_sensor/wl_134, fingerprint.svg + Ethernet Info, components/text_sensor/ethernet_info, ethernet.svg + Atlas Scientific Peristaltic Pump, components/ezo_pmp, ezo-pmp.jpg + ADC128S102, components/sensor/adc128s102, adc128s102.png + Daikin BRC, components/climate/climate_ir, air-conditioner-ir.svg + Display Menu Core, components/display_menu/index, folder-open.svg + LCD Menu, components/display_menu/lcd_menu, lcd_menu.png Raspberry Pi Pico-W ------------------- -To be written... +What can I say... I (Jesse) started working on making ESPHome run on the original Raspberry Pi +Pico one random weekend just for fun with no real intention of taking it further myself. +Little did I know there would be a Raspberry Pi Pico-W released earlier this year which sparked +up interest in continuing that PR and almost fully implementing RP2040 and the Pico-W as +a supported platform in ESPHome. + +There are things that have not been tested, and most likely things that will not work, so +please `create or search for an issue `__ if this is the case. + +Looking forward to seeing peoples projects built on these boards running ESPHome. Script Parameters ----------------- -To be written... +Thanks :ghuser:`jimtng` for taking the time to implement a feature requested by many people over time. +Parameters on scripts are now a thing. + +.. code-block:: yaml + + script: + - id: push_button + parameters: + button: int + then: + - logger.log: + format: "Button %d pressed" + args: [ button ] + + on_...: + - script.execute: + id: push_button + button: 1 + + on_...: + - script.execute: + id: push_button + button: 2 LCD Menu -------- +Another great feature added this release is the LCD Menu. This allows a user to build a simple (or complex) +menu system on an lcd display within ESPHome YAML, with support for switches, numbers, selects etc. +Thanks :ghuser:`numo68`. + +Preserving User WiFi Credentials +-------------------------------- + To be written... @@ -51,6 +98,14 @@ Breaking Changes - Don't Use Base Network Manual IP for WiFi AP :esphomepr:`3902` by :ghuser:`bkaufx` (breaking-change) +Beta Changes +^^^^^^^^^^^^ + +- Update set-output to use new GITHUB_OUTPUT :esphomepr:`4008` by :ghuser:`jesserockz` +- Add cover toggle support to current based cover :esphomepr:`3950` by :ghuser:`maringeph` +- Add option for dashboard command to only generate the project and supporting files :esphomepr:`3981` by :ghuser:`jesserockz` +- Fix local webserver based on esphome/esphome-webserver#17 :esphomepr:`3958` by :ghuser:`RoboMagus` + All changes ^^^^^^^^^^^ @@ -114,3 +169,39 @@ All changes - Enable calibration, callbacks and custom commands for EZO sensors :esphomepr:`3910` by :ghuser:`gvdhoven` - Bump esphome-dashboard to 20221109.0 :esphomepr:`4006` by :ghuser:`jesserockz` - Add support for parameters in scripts :esphomepr:`3538` by :ghuser:`jimtng` +- Update set-output to use new GITHUB_OUTPUT :esphomepr:`4008` by :ghuser:`jesserockz` +- Add cover toggle support to current based cover :esphomepr:`3950` by :ghuser:`maringeph` +- Add option for dashboard command to only generate the project and supporting files :esphomepr:`3981` by :ghuser:`jesserockz` +- Fix local webserver based on esphome/esphome-webserver#17 :esphomepr:`3958` by :ghuser:`RoboMagus` + +Past Changelogs +--------------- + +- :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` diff --git a/index.rst b/index.rst index 6b1131f83..67854888f 100644 --- a/index.rst +++ b/index.rst @@ -697,6 +697,7 @@ Misc Components PipSolar - compatible PV Inverter, components/pipsolar, pipsolar.jpg Grow Fingerprint Reader, components/fingerprint_grow, fingerprint.svg SML, components/sml, sml.svg + Atlas Scientific Peristaltic Pump, components/ezo_pmp, ezo-pmp.jpg Demo, components/demo, description.svg Copy, components/copy, content-copy.svg From ce7dc625903329f517ead05627f6172527e8d630 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Thu, 10 Nov 2022 11:49:11 +1300 Subject: [PATCH 4/4] Update supporters for 2022.11.0b2 --- guides/supporters.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/guides/supporters.rst b/guides/supporters.rst index ab29c41f5..277f3989a 100644 --- a/guides/supporters.rst +++ b/guides/supporters.rst @@ -17,7 +17,6 @@ Contributors (in alphabetical order) - `0hax (@0hax) `__ -- `Nikola (@0nikola1) `__ - `0x0a11c0de (@0x0a11c0de) `__ - `Tercio Filho (@0x3333) `__ - `2016for (@2016for) `__ @@ -165,7 +164,9 @@ Contributors - `Clifford Roche (@cmroche) `__ - `code-review-doctor (@code-review-doctor) `__ - `CODeRUS (@CODeRUS) `__ +- `Nick (@codewise-nicolas) `__ - `Cody James (@codyjamestechnical) `__ +- `Colin Leroy-Mira (@colinleroy) `__ - `Conclusio (@Conclusio) `__ - `John Coggeshall (@coogle) `__ - `James Crook (@cooljimy84) `__ @@ -433,6 +434,7 @@ Contributors - `Joe (@jhansche) `__ - `Jim Bauwens (@jimbauwens) `__ - `jimtng (@jimtng) `__ +- `Jeroen (@jjansen85) `__ - `Jérémy JOURDIN (@JJK801) `__ - `Jonathan Jefferies (@jjok) `__ - `John K. Luebs (@jkl1337) `__ @@ -615,7 +617,6 @@ Contributors - `Martin Weinelt (@mweinelt) `__ - `Igor Scheller (@MyIgel) `__ - `Mynasru (@Mynasru) `__ -- `Niels Ulrik Andersen (@myplacedk) `__ - `Kevin Uhlir (@n0bel) `__ - `Erik Näsström (@Naesstrom) `__ - `H. Árkosi Róbert (@nagyrobi) `__ @@ -638,9 +639,7 @@ Contributors - `niklasweber (@niklasweber) `__ - `Niorix (@Niorix) `__ - `Zvonimir Haramustek (@nitko12) `__ -- `Nikolay Kitanov (@nkitanov) `__ - `nldroid (@nldroid) `__ -- `Nicolas Liaudat (@nliaudat) `__ - `Niccolò Maggioni (@nmaggioni) `__ - `Jan Sandbrink (@NobodysNightmare) `__ - `Łukasz Śliwiński (@nonameplum) `__ @@ -658,6 +657,7 @@ Contributors - `Oğuzhan Başer (@oguzhanbaser) `__ - `Omar Ghader (@omarghader) `__ - `Ömer Şiar Baysal (@omersiar) `__ +- `optimusprimespace (@optimusprimespace) `__ - `Oscar Bolmsten (@oscar-b) `__ - `Trammell Hudson (@osresearch) `__ - `Otamay (@Otamay) `__ @@ -897,4 +897,4 @@ Contributors - `Zack Barett (@zsarnett) `__ - `Christian Zufferey (@zuzu59) `__ -*This page was last updated November 9, 2022.* +*This page was last updated November 10, 2022.*