diff --git a/Doxygen b/Doxygen index aaf38408a..3e7ef4a89 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.4.0 +PROJECT_NUMBER = 2022.5.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 58edd6027..4c07ea35d 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ ESPHOME_PATH = ../esphome -ESPHOME_REF = 2022.4.0 +ESPHOME_REF = 2022.5.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/changelog-2022.5.0.png b/_static/changelog-2022.5.0.png new file mode 100644 index 000000000..3b0aa2567 Binary files /dev/null and b/_static/changelog-2022.5.0.png differ diff --git a/_static/version b/_static/version index a1350699d..0c2c2b9c3 100644 --- a/_static/version +++ b/_static/version @@ -1 +1 @@ -2022.4.0 \ No newline at end of file +2022.5.0 \ No newline at end of file diff --git a/changelog/2022.5.0.rst b/changelog/2022.5.0.rst new file mode 100644 index 000000000..0ea974529 --- /dev/null +++ b/changelog/2022.5.0.rst @@ -0,0 +1,171 @@ +ESPHome 2022.5.0 - 18th May 2022 +================================ + +.. seo:: + :description: Changelog for ESPHome 2022.5.0. + :image: /_static/changelog-2022.5.0.png + :author: Jesse Hills + :author_twitter: @jesserockz + +.. imgtable:: + :columns: 3 + + BedJet Climate System, components/climate/bedjet, bedjet.png + BL0939, components/sensor/bl0939, bl0939.png + ENS210, components/sensor/ens210, ens210.jpg + SEN5x, components/sensor/sen5x, sen54.jpg + SML, components/sml, sml.svg + Delonghi Penguino PAC W120HP, components/climate/climate_ir, air-conditioner-ir.svg + +Rename +------ + +ESPHome now offers a way for people to rename their devices automatically. This is done by creating a new YAML file with the new +filename, changing the ``name`` inside the YAML, and then OTA uploading to the device to its existing hostname. If all is successful, +the old YAML file will be removed and you can continue configuring your newly named device. + +This is particularly useful if you have received a pre-installed device, or are installing pre-configured ESPHome from a website for example. + +API Transport Encryption +------------------------ + +API transport encryption is now enabled by default when you create a new device in ESPHome. This will autogenerate a random encryption key in the device YAML file +that you will need to retrieve when you attempt to add the device to Home Assistant. Simply remove the encryption key lines from your YAML should you choose to not +use encryption. + +Select & Number changes +----------------------- + +The ``select`` component has had a bunch of new features and actions added. +``select.first``, ``select.last``, ``select.next``, and ``select.previous``. + +Alongside these new changes were some removals of internal (but public) functions on ``select`` and ``number`` components that might break +``external_components`` or ``lambdas`` that might have been using them. See :esphomepr:`3457` and :esphomepr:`3458` for more details. + + +Full list of changes +-------------------- + +New Components +^^^^^^^^^^^^^^ + +- Add support for Shelly Dimmer 2 :esphomepr:`2954` by :ghuser:`rnauber` (new-integration) +- Add BedJet BLE climate component :esphomepr:`2452` by :ghuser:`jhansche` (new-integration) +- Add support for BL0939 (Sonoff Dual R3 V2 powermeter) :esphomepr:`3300` by :ghuser:`ziceva` (new-integration) +- Add ENS210 Humidity & Temperature sensor component :esphomepr:`2942` by :ghuser:`itn3rd77` (new-integration) +- add support for Sen5x sensor series :esphomepr:`3383` by :ghuser:`martgras` (new-integration) +- Add SML (Smart Message Language) platform for energy meters :esphomepr:`2396` by :ghuser:`alengwenus` (new-integration) +- Delonghi Penguino PAC W120HP ir support :esphomepr:`3124` by :ghuser:`grob6000` (new-integration) + +Breaking Changes +^^^^^^^^^^^^^^^^ + +- Code cleanup fixes for the select component :esphomepr:`3457` by :ghuser:`mmakaay` (breaking-change) +- Code cleanup fixes for the number component :esphomepr:`3458` by :ghuser:`mmakaay` (breaking-change) + +Beta Changes +^^^^^^^^^^^^ + +- Restore RealTimeClock's local TZ after epoch sync :esphomepr:`3462` by :ghuser:`mmakaay` +- Shelly dimmer: Use unique_ptr to handle the lifetime of stm32_t :esphomepr:`3400` by :ghuser:`edge90` +- Use heat mode for heat. Move EXT HT to custom presets. :esphomepr:`3437` by :ghuser:`jgissend10` +- Make custom_fan and custom_preset templatable as per documentation :esphomepr:`3330` by :ghuser:`MrMDavidson` +- Update captive portal canHandle function :esphomepr:`3360` by :ghuser:`bkaufx` +- Increase JSON buffer size on overflow :esphomepr:`3475` by :ghuser:`pyos` +- Mark improv_serial and ESP-IDF usb based serial on c3/s2/s3 unsupported :esphomepr:`3477` by :ghuser:`jesserockz` +- ESP32: Only save to NVS if data was changed :esphomepr:`3479` by :ghuser:`martgras` +- Retry Tuya init commands :esphomepr:`3482` by :ghuser:`ssieb` + +Notable Changes +^^^^^^^^^^^^^^^ + +- Enable api transport encryption for new projects :esphomepr:`3142` by :ghuser:`OttoWinter` (notable-change) + +All changes +^^^^^^^^^^^ + +- Add default object_id_generator for mqtt :esphomepr:`3389` by :ghuser:`jesserockz` +- Add BedJet BLE climate component :esphomepr:`2452` by :ghuser:`jhansche` (new-integration) +- Multi conf for Teleinfo component :esphomepr:`3401` by :ghuser:`parats15` +- Add support for Mopeka Pro+ Residential sensor :esphomepr:`3393` by :ghuser:`jamesduke` +- Add support for BL0939 (Sonoff Dual R3 V2 powermeter) :esphomepr:`3300` by :ghuser:`ziceva` (new-integration) +- Add "esphome rename" command :esphomepr:`3403` by :ghuser:`jesserockz` +- SPS30: Add fan action :esphomepr:`3410` by :ghuser:`martgras` +- feat: add openssh-client on docker image (#1681) :esphomepr:`3319` by :ghuser:`quentin9696` +- Add duration device class for sensors :esphomepr:`3421` by :ghuser:`jesserockz` +- Missing `f` prefix on f-strings fix :esphomepr:`3415` by :ghuser:`code-review-doctor` +- Queue sensor publishes so we don't block for too long :esphomepr:`3422` by :ghuser:`trvrnrth` +- added RGB565 image type :esphomepr:`3229` by :ghuser:`lubeda` +- Allow wifi output_power down to 8.5dB :esphomepr:`3405` by :ghuser:`e28eta` +- Add help text to rename command :esphomepr:`3442` by :ghuser:`jesserockz` +- Add rename command handler :esphomepr:`3443` by :ghuser:`balloob` +- Support for Arduino 2 and serial port on ESP32-S2 and ESP32-C3 :esphomepr:`3436` by :ghuser:`jenscski` +- Bump dashboard to 20220508.0 :esphomepr:`3448` by :ghuser:`balloob` +- Waveshare epaper 7in5 v2alt :esphomepr:`3276` by :ghuser:`patvdleer` +- Early pin init :esphomepr:`3439` by :ghuser:`rainero84` +- Add ENS210 Humidity & Temperature sensor component :esphomepr:`2942` by :ghuser:`itn3rd77` (new-integration) +- Also rename yaml filename with rename command :esphomepr:`3447` by :ghuser:`jesserockz` +- Bump click from 8.1.2 to 8.1.3 :esphomepr:`3426` by :ghuser:`dependabot[bot]` +- Fix spi transfer with miso pin defined on espidf :esphomepr:`3450` by :ghuser:`jesserockz` +- Force using name substitution when adopting a device :esphomepr:`3451` by :ghuser:`jesserockz` +- Bump pyupgrade from 2.32.0 to 2.32.1 :esphomepr:`3452` by :ghuser:`dependabot[bot]` +- Bump pylint from 2.13.5 to 2.13.8 :esphomepr:`3432` by :ghuser:`dependabot[bot]` +- Esp32c3 deepsleep fix :esphomepr:`3433` by :ghuser:`MFlasskamp` +- Add SERIAL_JTAG/CDC logger option for ESP-IDF platform for ESP32-S2/S3/C3 :esphomepr:`3105` by :ghuser:`unaiur` +- Select enhancement :esphomepr:`3423` by :ghuser:`mmakaay` +- Number enhancement :esphomepr:`3429` by :ghuser:`mmakaay` +- mask deprecated adc_gpio_init() for esp32-s2 :esphomepr:`3445` by :ghuser:`MFlasskamp` +- tca9548a fix channel selection :esphomepr:`3417` by :ghuser:`martgras` +- add support for Sen5x sensor series :esphomepr:`3383` by :ghuser:`martgras` (new-integration) +- Add SML (Smart Message Language) platform for energy meters :esphomepr:`2396` by :ghuser:`alengwenus` (new-integration) +- Delonghi Penguino PAC W120HP ir support :esphomepr:`3124` by :ghuser:`grob6000` (new-integration) +- extend scd4x :esphomepr:`3409` by :ghuser:`martgras` +- PMSX003: Add support for specifying the update interval and spinning down :esphomepr:`3053` by :ghuser:`mjg59` +- CAN bus: on_frame remote_transmission_request :esphomepr:`3376` by :ghuser:`felixstorm` +- Fix cover set position by force pushing position_id datapoint (simila… :esphomepr:`3435` by :ghuser:`dennisvbussel` +- added prev_frame for animation :esphomepr:`3427` by :ghuser:`lubeda` +- Fix tests :esphomepr:`3455` by :ghuser:`jesserockz` +- Fix BME280 setup() when the sensor is marked as failed. :esphomepr:`3396` by :ghuser:`ctrix` +- Esp32c3 deepsleep fix :esphomepr:`3454` by :ghuser:`MFlasskamp` +- Make retry scheduler efficient :esphomepr:`3225` by :ghuser:`OttoWinter` +- Code cleanup fixes for the select component :esphomepr:`3457` by :ghuser:`mmakaay` (breaking-change) +- Code cleanup fixes for the number component :esphomepr:`3458` by :ghuser:`mmakaay` (breaking-change) +- Enable api transport encryption for new projects :esphomepr:`3142` by :ghuser:`OttoWinter` (notable-change) +- Implement allow_deep_sleep :esphomepr:`3282` by :ghuser:`rubdos` +- Add deep_sleep.allow YAML action :esphomepr:`3459` by :ghuser:`jesserockz` +- Restore RealTimeClock's local TZ after epoch sync :esphomepr:`3462` by :ghuser:`mmakaay` +- Shelly dimmer: Use unique_ptr to handle the lifetime of stm32_t :esphomepr:`3400` by :ghuser:`edge90` +- Use heat mode for heat. Move EXT HT to custom presets. :esphomepr:`3437` by :ghuser:`jgissend10` +- Make custom_fan and custom_preset templatable as per documentation :esphomepr:`3330` by :ghuser:`MrMDavidson` +- Update captive portal canHandle function :esphomepr:`3360` by :ghuser:`bkaufx` +- Increase JSON buffer size on overflow :esphomepr:`3475` by :ghuser:`pyos` +- Mark improv_serial and ESP-IDF usb based serial on c3/s2/s3 unsupported :esphomepr:`3477` by :ghuser:`jesserockz` +- ESP32: Only save to NVS if data was changed :esphomepr:`3479` by :ghuser:`martgras` +- Retry Tuya init commands :esphomepr:`3482` by :ghuser:`ssieb` + +Past Changelogs +--------------- + +- :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/changelog/index.rst b/changelog/index.rst index 61c3a9a30..56c0517e3 100644 --- a/changelog/index.rst +++ b/changelog/index.rst @@ -2,7 +2,7 @@ Changelog ========= .. redirect:: - :url: /changelog/2022.4.0.html + :url: /changelog/2022.5.0.html .. toctree:: :glob: diff --git a/components/canbus.rst b/components/canbus.rst index 2ebddb646..9dd29e304 100644 --- a/components/canbus.rst +++ b/components/canbus.rst @@ -91,9 +91,10 @@ Automations: ``on_frame`` Trigger ******************** -This automation will be triggered when a CAN frame is received. A variable ``x`` of type -``std::vector`` containing the frame data and a variable ``can_id`` of type ``uint32_t`` -containing the actual received CAN id are passed to the automation for use in lambdas. +This automation will be triggered when a CAN frame is received. The variables ``x`` (of type +``std::vector``) containing the frame data, ``can_id`` (of type ``uint32_t``) containing the actual +received CAN id and ``remote_transmission_request`` (of type ``bool``) containing the corresponding field +from the CAN frame are passed to the automation for use in lambdas. .. note:: @@ -114,6 +115,7 @@ containing the actual received CAN id are passed to the automation for use in la - can_id: 0b00000000000000000000001000000 can_id_mask: 0b11111000000000011111111000000 use_extended_id: true + remote_transmission_request: false then: - lambda: |- auto pdo_id = can_id >> 14; @@ -139,6 +141,8 @@ Configuration variables: - **can_id_mask** (*Optional*, int): The bit mask to apply to the received CAN id before trying to match it with *can_id*, defaults to ``0x1fffffff`` (all bits of received CAN id are compared with *can_id*). - **use_extended_id** (*Optional*, boolean): Identifies the type of *can_id* to match on, defaults to *false*. +- **remote_transmission_request** (*Optional*, boolean): Whether to run for CAN frames with the "remote + transmission request" bit set or not set, defaults to not checking, i.e. to run for both cases. ``canbus.send`` Action ********************** diff --git a/components/climate/bedjet.rst b/components/climate/bedjet.rst new file mode 100644 index 000000000..3d7d91d4f --- /dev/null +++ b/components/climate/bedjet.rst @@ -0,0 +1,104 @@ +BedJet +====== + +.. seo:: + :description: Instructions for setting up a BedJet climate device. + :image: bedjet.png + +The ``bedjet`` climate platform creates a climate device which can be used to control +a BedJet V3 Climate Comfort Sleep System. + +This component supports the following functionality: + +- Set the operating mode: off, heat, cool, turbo (boost) +- Set the desired target temperature +- Set the desired fan speed +- Start one of the saved memory presets, including "Biorhythm" programs +- Show the current status of the BedJet + +This platform uses the BLE peripheral on an ESP32, so you also need to enable +this component. Please see the :doc:`/components/ble_client` docs for how to discover the MAC +address of your BedJet device, or you can find the list of paired MAC addresses in +the "DEVICE LIST" section of the BedJet mobile application. + +.. code-block:: yaml + + ble_client: + - mac_address: 11:22:33:aa:bb:cc + id: ble_bedjet + + climate: + - platform: bedjet + id: my_bedjet_fan + name: "My BedJet Fan" + ble_client_id: ble_bedjet + +Configuration variables: +------------------------ + +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. +- **name** (**Required**, string): The name of the climate device. +- **ble_client_id** (**Required**, :ref:`config-id`): The ID of the BLE Client. +- **time_id** (*Optional*, :ref:`config-id`): The ID of a :ref:`Time Component