diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 56d3ab158..4d946d012 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -21,6 +21,9 @@ jobs: - name: Checkout source code uses: actions/checkout@v4.1.0 + - + name: Set up QEMU + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 @@ -43,6 +46,7 @@ jobs: with: context: . push: true + platforms: linux/amd64,linux/arm64 tags: | esphome/esphome-docs:latest ghcr.io/esphome/esphome-docs:latest diff --git a/_static/changelog-2024.2.0.png b/_static/changelog-2024.2.0.png new file mode 100644 index 000000000..b8544e42f Binary files /dev/null and b/_static/changelog-2024.2.0.png differ diff --git a/changelog/2024.2.0.rst b/changelog/2024.2.0.rst new file mode 100644 index 000000000..749d281cd --- /dev/null +++ b/changelog/2024.2.0.rst @@ -0,0 +1,259 @@ +ESPHome 2024.2.0 - 21st February 2024 +===================================== + +.. seo:: + :description: Changelog for ESPHome 2024.2.0. + :image: /_static/changelog-2024.2.0.png + :author: Jesse Hills + :author_twitter: @jesserockz + +.. imgtable:: + :columns: 4 + + micro Wake Word, components/micro_wake_word, voice-assistant.svg, dark-invert + AS5600, components/sensor/as5600, as5600.jpg + ST7567, components/display/st7567, st7567.jpg + BME280 SPI, components/sensor/bme280, bme280.jpg + VEML3235, components/sensor/veml3235, veml3235.jpg + Honeywell HIH I2C, components/sensor/honeywell_hih_i2c, honeywellhih.jpg + Combination, components/sensor/combination, function.svg, dark-invert + +micro Wake Word +--------------- + +ESPHome implements an on-device wake word detection framework from `microWakeWord `__. +See the :doc:`component documentation ` for details on how to use it. + +Check out the live stream replay below for more details about how it works and came to be. + +.. raw:: html + + + + +BME280 changes +-------------- + +:ghuser:`apbodrov` has added support for the BME280 sensor over SPI. This change is a breaking change for any existing configurations using +the BME280 over I2C as the platform name has been changed from ``bme280`` to ``bme280_i2c``. There are no other configuration changes required +to continue using the BME280 over I2C. See the :doc:`component documentation ` for the latest configuration variables. + + +CSE7766 changes +--------------- + +:ghuser:`ssieb` has changed the CSE7766 sensor from appearing to be a polling component. +It has a high update rate, so if you don't want to send a lot of data to HA, you can +add the :ref:`throttle_average ` filter +with the time period you were using for the update interval (the default is 60s) to each +sensor. The example in the sensor doc page has been updated to show this. + + +Full list of changes +-------------------- + +New Components +^^^^^^^^^^^^^^ + +- feat: add AS5600 component/sensor :esphomepr:`5174` by :ghuser:`ammmze` (new-integration) +- Support for ST7567 display 128x64 (I2C, SPI) :esphomepr:`5952` by :ghuser:`latonita` (new-integration) +- BME280 SPI :esphomepr:`5538` by :ghuser:`apbodrov` (new-integration) (breaking-change) +- Add support for VEML3235 lux sensor :esphomepr:`5959` by :ghuser:`kbx81` (new-integration) +- Add support of Honeywell HumidIcon (I2C HIH series) Temperature & Humidity sensor :esphomepr:`5730` by :ghuser:`Benichou34` (new-integration) +- Add combination sensor and remove absorbed kalman_combinator component :esphomepr:`5438` by :ghuser:`kahrendt` (new-integration) (breaking-change) +- Add micro_wake_word component :esphomepr:`6136` by :ghuser:`kahrendt` (new-integration) + +Breaking Changes +^^^^^^^^^^^^^^^^ + +- PMSx003 add relevant device and state classes to default config :esphomepr:`5633` by :ghuser:`wheimbigner` (breaking-change) +- BME280 SPI :esphomepr:`5538` by :ghuser:`apbodrov` (new-integration) (breaking-change) +- convert cse7766 to non-polling :esphomepr:`6095` by :ghuser:`ssieb` (breaking-change) +- Add combination sensor and remove absorbed kalman_combinator component :esphomepr:`5438` by :ghuser:`kahrendt` (new-integration) (breaking-change) + +Beta Changes +^^^^^^^^^^^^ + +- AUTO_LOAD ``sensor`` for ``shelly_dimmer`` :esphomepr:`6223` by :ghuser:`kbx81` +- Add more debugging logs to microWakeWord :esphomepr:`6238` by :ghuser:`kahrendt` +- Fix to RF receiver for Drayton Digistat heating controller :esphomepr:`6235` by :ghuser:`marshn` +- WRGB Use correct multiplier :esphomepr:`6237` by :ghuser:`mhetzi` +- Add optional minimum esphome version to microWakeWord manifest :esphomepr:`6240` by :ghuser:`jesserockz` +- Fix xl9535 pin reads :esphomepr:`6242` by :ghuser:`jesserockz` +- hold interrupt disable for dallas one-wire :esphomepr:`6244` by :ghuser:`ssieb` +- Fix tm1651 enum :esphomepr:`6248` by :ghuser:`kbx81` +- Clear UART read buffer before sending next command :esphomepr:`6200` by :ghuser:`fototakas` +- Voice Assistant: add on_idle trigger and fix nevermind :esphomepr:`6141` by :ghuser:`synesthesiam` +- Tuya Fan component fix to handle enum datapoint type :esphomepr:`6135` by :ghuser:`sibowler` + +All changes +^^^^^^^^^^^ + +- Bump esptool from 4.6.2 to 4.7.0 :esphomepr:`5935` by :ghuser:`dependabot[bot]` +- Bump actions/download-artifact from 3.0.2 to 4.0.0 :esphomepr:`5936` by :ghuser:`dependabot[bot]` +- Bump build-image action versions :esphomepr:`5954` by :ghuser:`jesserockz` +- Revert "Bump build-image action versions" :esphomepr:`5955` by :ghuser:`jesserockz` +- Revert "Bump actions/download-artifact from 3.0.2 to 4.0.0" :esphomepr:`5956` by :ghuser:`jesserockz` +- Bump zeroconf from 0.130.0 to 0.131.0 :esphomepr:`5967` by :ghuser:`dependabot[bot]` +- Add ability to lock to set mode :esphomepr:`5924` by :ghuser:`ysmilda` +- feat: add AS5600 component/sensor :esphomepr:`5174` by :ghuser:`ammmze` (new-integration) +- Add default substitutions for package includes :esphomepr:`5752` by :ghuser:`mknjc` +- Add gradient option to addressable color wipe effect :esphomepr:`5689` by :ghuser:`lifeisafractal` +- Added alarm processing for Haier component (hOn protocol) :esphomepr:`5965` by :ghuser:`paveldn` +- Allow haier remote protocol to use lambdas :esphomepr:`5898` by :ghuser:`catlee` +- PMSx003 add relevant device and state classes to default config :esphomepr:`5633` by :ghuser:`wheimbigner` (breaking-change) +- Add waveshare 2.7in V2 model :esphomepr:`5903` by :ghuser:`gumulka` +- Add support for waveshare 2.9in B V3 version :esphomepr:`5902` by :ghuser:`gumulka` +- Fix pin reuse in test1 :esphomepr:`5978` by :ghuser:`jesserockz` +- Add Waveshare 1.47in 172x320 to ST7789v component :esphomepr:`5884` by :ghuser:`mrtoy-me` +- (fingerprint_grow) Added on_finger_scan_invalid automation. :esphomepr:`5885` by :ghuser:`RubenNL` +- Alarm panel: Add changes to support enhanced features :esphomepr:`5671` by :ghuser:`hwstar` +- support default pins for adafruit esp32 feather v2 :esphomepr:`5482` by :ghuser:`sbrudenell` +- Bug: Unwanted change resistance in x9c component :esphomepr:`5483` by :ghuser:`fizista` +- Improvements to RF receiver for Drayton Digistat heating controller :esphomepr:`5504` by :ghuser:`marshn` +- Reduce memory usage with StringRef in MQTT Components :esphomepr:`5719` by :ghuser:`kahrendt` +- Nextion allow underscore on names :esphomepr:`5979` by :ghuser:`edwardtfn` +- Add Keeloq RF protocol :esphomepr:`5511` by :ghuser:`marshn` +- Add a Binary Sensor Filter for state settling :esphomepr:`5900` by :ghuser:`cottsay` +- Lint the script folder files :esphomepr:`5991` by :ghuser:`jesserockz` +- web_server support for home assistant like styling :esphomepr:`5854` by :ghuser:`afarago` +- [Touchscreen] Add expire of touch record. :esphomepr:`5986` by :ghuser:`Fabian-Schmidt` +- Support for ST7567 display 128x64 (I2C, SPI) :esphomepr:`5952` by :ghuser:`latonita` (new-integration) +- Add constants used by multiple display drivers to global const.py :esphomepr:`6033` by :ghuser:`clydebarrow` +- Nextion queue size :esphomepr:`6029` by :ghuser:`edwardtfn` +- Ble client additions and fixes :esphomepr:`5277` by :ghuser:`clydebarrow` +- HaierProtocol library updated to 0.9.25 to fix the answer_timeout bug :esphomepr:`6015` by :ghuser:`paveldn` +- GT911 touchscreen: Fix bug causing touch button release to fail :esphomepr:`6042` by :ghuser:`clydebarrow` +- Display: Introduce `draw_pixels_at()` method for fast block display rendering :esphomepr:`6034` by :ghuser:`clydebarrow` +- clang-format and clang-tidy scripts: More robust algorithm to find correct executable :esphomepr:`6041` by :ghuser:`clydebarrow` +- Don't crash with invalid adc pin :esphomepr:`6059` by :ghuser:`ssieb` +- Add questionmark to default glyphs. :esphomepr:`6053` by :ghuser:`RubenNL` +- pylontech: fix voltage_low and voltage_high wrong unit :esphomepr:`6060` by :ghuser:`functionpointer` +- Bump flake8 from 6.1.0 to 7.0.0 :esphomepr:`6058` by :ghuser:`dependabot[bot]` +- Nextion enable upload from https when using esp-idf :esphomepr:`6051` by :ghuser:`edwardtfn` +- Extends UART change at runtime to ESP8266 :esphomepr:`6019` by :ghuser:`edwardtfn` +- Nextion draw QR code at runtime :esphomepr:`6027` by :ghuser:`edwardtfn` +- Extend i2s config options :esphomepr:`6056` by :ghuser:`Hadatko` +- Add getter for image data_start :esphomepr:`6036` by :ghuser:`clydebarrow` +- Bump hypothesis to 6.92.1 :esphomepr:`6011` by :ghuser:`bdraco` +- Bump recommended ESP32 IDF to 4.4.6 :esphomepr:`6048` by :ghuser:`bdraco` +- Bump pytest from 7.4.3 to 7.4.4 :esphomepr:`6046` by :ghuser:`dependabot[bot]` +- dashboard: refactor ping implementation to be more efficient :esphomepr:`6002` by :ghuser:`bdraco` +- Bump pytest-asyncio from 0.23.2 to 0.23.3 :esphomepr:`6047` by :ghuser:`dependabot[bot]` +- Bump black from 23.12.0 to 23.12.1 :esphomepr:`6018` by :ghuser:`dependabot[bot]` +- Run python tests on windows and macos :esphomepr:`6010` by :ghuser:`bdraco` +- BME280 SPI :esphomepr:`5538` by :ghuser:`apbodrov` (new-integration) (breaking-change) +- Actions to enable and disable WireGuard connection :esphomepr:`5690` by :ghuser:`droscy` +- hydreon_rgxx - fix missing cg.add(var.set_model(...)) :esphomepr:`6065` by :ghuser:`mrtoy-me` +- Bump pillow to 10.2.0. :esphomepr:`6091` by :ghuser:`pfrenssen` +- convert cse7766 to non-polling :esphomepr:`6095` by :ghuser:`ssieb` (breaking-change) +- Use touch state from ft63x6 driver. :esphomepr:`6055` by :ghuser:`nielsnl68` +- update script/setup so it works fine on windows :esphomepr:`6087` by :ghuser:`nielsnl68` +- add Pico-ResTouch-LCD-3.5 :esphomepr:`6078` by :ghuser:`nielsnl68` +- Revert "add Pico-ResTouch-LCD-3.5" :esphomepr:`6098` by :ghuser:`nielsnl68` +- Add triangle shapes to display component :esphomepr:`6096` by :ghuser:`mathieu-mp` +- Fingerprint_grow: Trigger on finger scan start and on finger scan misplaced :esphomepr:`6003` by :ghuser:`alexborro` +- Add continuous option to the graph :esphomepr:`6093` by :ghuser:`ssieb` +- Add NFC binary sensor platform :esphomepr:`6068` by :ghuser:`kbx81` +- Socket: Add recvfrom method to receive UDP with source address. :esphomepr:`6103` by :ghuser:`clydebarrow` +- Add support for VEML3235 lux sensor :esphomepr:`5959` by :ghuser:`kbx81` (new-integration) +- CV: tidy up Schema wrapper :esphomepr:`6105` by :ghuser:`jesserockz` +- Add support X.509 client certificates for MQTT. :esphomepr:`5778` by :ghuser:`h2zero` +- Fix color observation for triangle outline in display component :esphomepr:`6107` by :ghuser:`mathieu-mp` +- Add support of Honeywell HumidIcon (I2C HIH series) Temperature & Humidity sensor :esphomepr:`5730` by :ghuser:`Benichou34` (new-integration) +- Proposal: Test yaml for each component :esphomepr:`5398` by :ghuser:`Fabian-Schmidt` +- WiFi fast_connect: save/load BSSID and channel for faster connect from sleep :esphomepr:`5931` by :ghuser:`rguca` +- Fixes Waveshare 7.5in B V2 and V3 :esphomepr:`6079` by :ghuser:`Pofilo` +- Add combination sensor and remove absorbed kalman_combinator component :esphomepr:`5438` by :ghuser:`kahrendt` (new-integration) (breaking-change) +- Bump platformio from 6.1.11 to 6.1.13 :esphomepr:`6086` by :ghuser:`dependabot[bot]` +- Bump actions/cache from 3.3.2 to 4.0.0 :esphomepr:`6110` by :ghuser:`dependabot[bot]` +- Enable networking and some other components on host platform :esphomepr:`6114` by :ghuser:`clydebarrow` +- Fix time component for host platform :esphomepr:`6118` by :ghuser:`clydebarrow` +- Add quad spi features :esphomepr:`5925` by :ghuser:`clydebarrow` +- add AM2120 device type :esphomepr:`6115` by :ghuser:`alexbuit` +- Add support for Waveshare EPD 2.13" V3 :esphomepr:`5363` by :ghuser:`clydebarrow` +- OTA 2 which confirm each written chunk :esphomepr:`6066` by :ghuser:`tomaszduda23` +- Remove optional<> for pointer types :esphomepr:`6120` by :ghuser:`kroimon` +- Improve temperature precision in BME280 and BMP280 :esphomepr:`6124` by :ghuser:`jxl77` +- Nextion TFT upload IDF memory optimization :esphomepr:`6128` by :ghuser:`edwardtfn` +- Add support for Pico-ResTouch-LCD-3.5 to ili9xxx driver :esphomepr:`6129` by :ghuser:`clydebarrow` +- Ensure filename is shown when YAML raises an error :esphomepr:`6139` by :ghuser:`bdraco` +- ILI9XXX: Restore offset usage in set_addr_window :esphomepr:`6147` by :ghuser:`clydebarrow` +- Minimum 1 for full_update_every to prevent IntegerDivideByZero. :esphomepr:`6150` by :ghuser:`RubenNL` +- Support tri-color waveshare eink displays 2.7inch B and B V2 :esphomepr:`4238` by :ghuser:`rnauber` +- Synchronise Device Classes from Home Assistant :esphomepr:`6158` by :ghuser:`esphomebot` +- dfrobot_sen0395: Use setLatency instead of outputLatency :esphomepr:`5665` by :ghuser:`jfroy` +- Add some components to the new testing framework (A part 1) :esphomepr:`6142` by :ghuser:`kbx81` +- WRGB or RGBW? WS2814 :esphomepr:`6164` by :ghuser:`mhetzi` +- Add some components to the new testing framework (A part 2) :esphomepr:`6162` by :ghuser:`kbx81` +- Bump aioesphomeapi to 21.0.2 :esphomepr:`6188` by :ghuser:`bdraco` +- Add some components to the new testing framework (B) :esphomepr:`6173` by :ghuser:`kbx81` +- Add "transformer_active" flag for use in effects. :esphomepr:`6157` by :ghuser:`TikiBill` +- CSE7766: fix power and current measurements at low loads :esphomepr:`6180` by :ghuser:`twasilczyk` +- host platform: improvements and bugfixes :esphomepr:`6137` by :ghuser:`clydebarrow` +- WLED Sync fix and BK72XX support :esphomepr:`6190` by :ghuser:`ChuckMash` +- Add missing vector.h for lightwaverf :esphomepr:`6196` by :ghuser:`kbx81` +- Add some components to the new testing framework (C) :esphomepr:`6174` by :ghuser:`kbx81` +- update docstrings in cpp_generator.py :esphomepr:`6212` by :ghuser:`nielsnl68` +- Fixed group mask logic for WLED Sync fix :esphomepr:`6193` by :ghuser:`ChuckMash` +- Add micro_wake_word component :esphomepr:`6136` by :ghuser:`kahrendt` (new-integration) +- AUTO_LOAD ``sensor`` for ``shelly_dimmer`` :esphomepr:`6223` by :ghuser:`kbx81` +- Add more debugging logs to microWakeWord :esphomepr:`6238` by :ghuser:`kahrendt` +- Fix to RF receiver for Drayton Digistat heating controller :esphomepr:`6235` by :ghuser:`marshn` +- WRGB Use correct multiplier :esphomepr:`6237` by :ghuser:`mhetzi` +- Add optional minimum esphome version to microWakeWord manifest :esphomepr:`6240` by :ghuser:`jesserockz` +- Fix xl9535 pin reads :esphomepr:`6242` by :ghuser:`jesserockz` +- hold interrupt disable for dallas one-wire :esphomepr:`6244` by :ghuser:`ssieb` +- Fix tm1651 enum :esphomepr:`6248` by :ghuser:`kbx81` +- Clear UART read buffer before sending next command :esphomepr:`6200` by :ghuser:`fototakas` +- Voice Assistant: add on_idle trigger and fix nevermind :esphomepr:`6141` by :ghuser:`synesthesiam` +- Tuya Fan component fix to handle enum datapoint type :esphomepr:`6135` by :ghuser:`sibowler` + +Past Changelogs +--------------- + +- :doc:`2023.12.0` +- :doc:`2023.11.0` +- :doc:`2023.10.0` +- :doc:`2023.9.0` +- :doc:`2023.8.0` +- :doc:`2023.7.0` +- :doc:`2023.6.0` +- :doc:`2023.5.0` +- :doc:`2023.4.0` +- :doc:`2023.3.0` +- :doc:`2023.2.0` +- :doc:`2022.12.0` +- :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` diff --git a/changelog/index.rst b/changelog/index.rst index 6549def71..f5beccf61 100644 --- a/changelog/index.rst +++ b/changelog/index.rst @@ -2,7 +2,7 @@ Changelog ========= .. redirect:: - :url: /changelog/2023.12.0.html + :url: /changelog/2024.2.0.html .. toctree:: :glob: diff --git a/components/sensor/mcp9600.rst b/components/sensor/mcp9600.rst index 6236961dd..5d5a6a809 100644 --- a/components/sensor/mcp9600.rst +++ b/components/sensor/mcp9600.rst @@ -11,9 +11,9 @@ The ``mcp9600`` sensor platform allows you to use your MCP9600 and MCP9601 `Adafruit`_) to measure the temperature of a connected thermocouple while also measuring the ambient temperature around the sensor with ESPHome. :ref:`I²C ` is required to be set up in your configuration for this sensor to work. -.. warning:: +.. note:: - The :ref:`I²C ` bus must be set to a minimum of ``100khz`` due to the limitations of the MCP9600 and MCP9601. + The :ref:`I²C ` bus must be set to a minimum of ``10khz`` due to the limitations of the MCP9600 and MCP9601. .. figure:: images/mcp9600.jpg :align: center diff --git a/components/sensor/ufire_ise.rst b/components/sensor/ufire_ise.rst index 1b9972ed8..d7fd587bf 100644 --- a/components/sensor/ufire_ise.rst +++ b/components/sensor/ufire_ise.rst @@ -9,7 +9,7 @@ uFire ISE pH sensor The ``ufire_ise`` sensor platform allows you to use your uFire ISE pH sensor with ESPHome. The :ref:`I²C Bus ` is required to be set up in your configuration for this sensor to work. -It required also to have an temperature sensor in the liquit tank; this can +It required also to have an temperature sensor in the liquid tank; this can be on the same board or external sensor linked to the uFire ISE pH configuration. .. figure:: images/ufire_ise.png @@ -23,7 +23,7 @@ be on the same board or external sensor linked to the uFire ISE pH configuration - platform: ufire_ise id: ufire_ise_board temperature: - id: temperature_liquit + id: temperature_liquid name: Temperature ph: name: pH @@ -63,7 +63,7 @@ of the calibration high solution. - sensor.ufire_ise_board.calibrate_probe_high: id: ufire_ise_board solution: 7.0 - temperature: !lambda "return id(temperature_liquit).state;" + temperature: !lambda "return id(temperature_liquid).state;" Configuration options: @@ -91,7 +91,7 @@ of the calibration low solution. - sensor.ufire_ise_board.calibrate_probe_low: id: ufire_ise_board solution: 4.0 - temperature: !lambda "return id(temperature_liquit).state;" + temperature: !lambda "return id(temperature_liquid).state;" Configuration options: diff --git a/guides/supporters.rst b/guides/supporters.rst index 1268eab7d..55db7ba2d 100644 --- a/guides/supporters.rst +++ b/guides/supporters.rst @@ -30,7 +30,7 @@ Contributors - `Alessandro Campolo (@a13ssandr0) `__ - `Aalian Khan (@AalianKhan) `__ - `Adam Liddell (@aaliddell) `__ -- `Aapeli (@aapeliv) `__ +- `Aapeli Vuorinen (@aapeliv) `__ - `Aaron Gamble (@aarongamble) `__ - `Aaron S. Jackson (@AaronJackson) `__ - `Abel Matser (@abelmatser) `__ @@ -45,7 +45,6 @@ Contributors - `Andrea Donno (@adonno) `__ - `Adrian Fretwell (@AdrianFretwell) `__ - `Adrien Brault (@adrienbrault) `__ -- `Ian Blais (@aeonsablaze) `__ - `Attila Farago (@afarago) `__ - `Kjell Braden (@afflux) `__ - `Alejandro Galfrascoli (@AGalfra) `__ @@ -73,7 +72,7 @@ Contributors - `Alexandre Danault (@AlexDanault) `__ - `Alex Iribarren (@alexiri) `__ - `Alex Mekkering (@AlexMekkering) `__ -- `Alex Yao (@alexyao2015) `__ +- `Alex (@alexyao2015) `__ - `Alfredo (@alfredopironti) `__ - `Alibloke (@Alibloke) `__ - `Alessandro Ranellucci (@alranel) `__ @@ -94,12 +93,12 @@ Contributors - `Andreas Hergert (@andreashergert1984) `__ - `Andrew J.Swan (@andrewjswan) `__ - `andrewpc (@andrewpc) `__ -- `Andrew Y. (@andrey-yantsen) `__ +- `Andrey Yantsen (@andrey-yantsen) `__ - `Andrzej (@andriej) `__ - `Andreas (@anduchs) `__ - `Andy2No (@Andy2No) `__ - `AndyRPH (@AndyRPH) `__ -- `Angel Nunez Mencias (@angelnu) `__ +- `Vegetto (@angelnu) `__ - `Sergey Anisimov (@anisimovsergey) `__ - `Nikolay Vasilchuk (@Anonym-tsk) `__ - `Anthony Keane (@anthonykeane) `__ @@ -129,13 +128,13 @@ Contributors - `Alexander Turlov (@aturlov) `__ - `aus (@aus) `__ - `AustinMorris (@AustinMorris) `__ -- `Denis Demchenko (@Avirsaam) `__ +- `Avirsaam (@Avirsaam) `__ - `Arsène von Wyss (@avonwyss) `__ - `Andrew Weddle (@aweddle2) `__ - `Alexis Iglauer (@ax42) `__ - `Achilleas Pipinellis (@axilleas) `__ - `Kamil Trzciński (@ayufan) `__ -- `Azimath (@Azimath) `__ +- `Nicholas Peters (@Azimath) `__ - `Daniel (@azrael783) `__ - `B48D81EFCC (@B48D81EFCC) `__ - `Florian Mösch (@badbadc0ffee) `__ @@ -144,13 +143,14 @@ Contributors - `balk77 (@balk77) `__ - `Paulus Schoutsen (@balloob) `__ - `Andrew Zaborowski (@balrog-kun) `__ +- `Josh Barnard (@barndawgie) `__ - `BarryMar (@BarryMar) `__ - `bartoszpierzchlewicz (@bartoszpierzchlewicz) `__ - `BartoszPierzchlewiczMacrix (@BartoszPierzchlewiczMacrix) `__ - `Bascht74 (@Bascht74) `__ - `Viktr (@BbIKTOP) `__ - `J. Nick Koston (@bdraco) `__ -- `Maxym Ocheretianko (@bearpawmaxim) `__ +- `Maxim Ocheretianko (@bearpawmaxim) `__ - `beaudeanadams (@beaudeanadams) `__ - `Benjamin Freeman (@Beetix) `__ - `beikeland (@beikeland) `__ @@ -175,9 +175,10 @@ Contributors - `Bert Hertogen (@berthertogen) `__ - `Brandon (@bgulla) `__ - `Benedikt Hübschen (@bhuebschen) `__ -- `Stef (@Bierchermuesli) `__ +- `Bierchermuesli (@Bierchermuesli) `__ - `bigwoof (@bigwoof) `__ - `Bill Church (@billchurch) `__ +- `bisbastuner (@bisbastuner) `__ - `Brian Kaufman (@bkaufx) `__ - `JDavid (@blackhack) `__ - `blackshoals (@blackshoals) `__ @@ -197,7 +198,7 @@ Contributors - `Casey Olson (@bookcasey) `__ - `Borja Burgos (@borjaburgos) `__ - `Brian Orpin (@borpin) `__ -- `bouhaa (@BoukeHaarsma23) `__ +- `BoukeHaarsma23 (@BoukeHaarsma23) `__ - `brabl2 (@brabl2) `__ - `brainiac27 (@brainiac27) `__ - `brambo123 (@brambo123) `__ @@ -226,6 +227,7 @@ Contributors - `Carlos Gustavo Sarmiento (@carlos-sarmiento) `__ - `Carlos Garcia Saura (@CarlosGS) `__ - `Carlos Ruiz (@CarlosRDomin) `__ +- `Carlos Ortega (@carlosV2) `__ - `carlywarly (@carlywarly) `__ - `Carson Full (@CarsonF) `__ - `carstenschroeder (@carstenschroeder) `__ @@ -254,6 +256,7 @@ Contributors - `Chris (@chrismaki) `__ - `Christoph Wagner (@Christoph-Wagner) `__ - `Christian Taedcke (@chrta) `__ +- `ChuckMash (@ChuckMash) `__ - `Pavel Skuratovich (@Chupaka) `__ - `Chris Johnson (@ciband) `__ - `CircuitGuy (@CircuitGuy) `__ @@ -393,7 +396,7 @@ Contributors - `dr-oblivium (@dr-oblivium) `__ - `Jean Louis-Guerin (@DrCoolzic) `__ - `Drew Perttula (@drewp) `__ -- `Angel G (@drmodding) `__ +- `drmodding (@drmodding) `__ - `drmpf (@drmpf) `__ - `drogfild (@drogfild) `__ - `Simone Rossetto (@droscy) `__ @@ -404,7 +407,7 @@ Contributors - `Tom Soer (@dtx3k) `__ - `dubit0 (@dubit0) `__ - `Mikkel Jeppesen (@Duckle29) `__ -- `Sergey Dudanov (@dudanov) `__ +- `Sergey V. DUDANOV (@dudanov) `__ - `David Girón (@duhow) `__ - `Duncan Findlay (@duncf) `__ - `David van der Leij (@dvanderleij) `__ @@ -425,7 +428,7 @@ Contributors - `Eli Fidler (@efidler) `__ - `egandro (@egandro) `__ - `Erwin Kooi (@egeltje) `__ -- `Egglestron (@Egglestron) `__ +- `Maxime Michel (@Egglestron) `__ - `Eike (@ei-ke) `__ - `Elazar Leibovich (@elazarl) `__ - `Eli (@eli-xciv) `__ @@ -458,7 +461,9 @@ Contributors - `EtienneMD (@EtienneMD) `__ - `Evan Coleman (@evandcoleman) `__ - `Clemens Kirchgatterer (@everslick) `__ +- `Everything Smart Home (@EverythingSmartHome) `__ - `Evgeni Golov (@evgeni) `__ +- `evlo (@evlo) `__ - `Expaso (@Expaso) `__ - `Malte Franken (@exxamalte) `__ - `f0rdprefect (@f0rdprefect) `__ @@ -485,6 +490,7 @@ Contributors - `Clemens (@firegore) `__ - `Fredrik Jansson (@fjansson) `__ - `Frédéric Jouault (@fjouault) `__ +- `FL42 (@fl42) `__ - `Sean Vig (@flacjacket) `__ - `Diego Elio Pettenò (@Flameeyes) `__ - `Flaviu Tamas (@flaviut) `__ @@ -492,6 +498,7 @@ Contributors - `fluffymonster (@fluffymonster) `__ - `flyize (@flyize) `__ - `风飘雨 (@flyrainning) `__ +- `foltymat (@foltymat) `__ - `Fabio Pugliese Ornellas (@fornellas) `__ - `Fractal147 (@Fractal147) `__ - `Francis-labo (@Francis-labo) `__ @@ -520,7 +527,6 @@ Contributors - `gcopeland (@gcopeland) `__ - `Greg Cormier (@gcormier) `__ - `GeekVisit (@GeekVisit) `__ -- `Ian Reinhart Geiser (@geiseri) `__ - `R Huish (@genestealer) `__ - `Geoff Davis (@geoffdavis) `__ - `Geoffrey Van Landeghem (@geoffrey-vl) `__ @@ -572,6 +578,7 @@ Contributors - `Peter van Dijk (@Habbie) `__ - `Dusan Cervenka (@Hadatko) `__ - `Hagai Shatz (@hagai-shatz) `__ +- `hajar97 (@hajar97) `__ - `Boris Hajduk (@hajdbo) `__ - `Gavin Mogan (@halkeye) `__ - `Charles (@hallard) `__ @@ -586,7 +593,7 @@ Contributors - `Jimmy Hedman (@HeMan) `__ - `Hemi03 (@Hemi03) `__ - `HengYongChao (@HengYongChao) `__ -- `Andrei Solodovnikov (@HepoH3) `__ +- `HepoH3 (@HepoH3) `__ - `Hermann Kraus (@herm) `__ - `Herr Frei (@herrfrei) `__ - `highground88 (@highground88) `__ @@ -609,7 +616,7 @@ Contributors - `Adrián Panella (@ianchi) `__ - `Ian Anderson (@ianderso) `__ - `Ian Leeder (@ianleeder) `__ -- `Honza Pobořil (@iBobik) `__ +- `Jan Pobořil (@iBobik) `__ - `igg (@igg) `__ - `Ignacio Hernandez-Ros (@IgnacioHR) `__ - `Ivan Grokhotkov (@igrr) `__ @@ -619,7 +626,6 @@ Contributors - `ilium007 (@ilium007) `__ - `Iman Ahmadvand (@IMAN4K) `__ - `imgbot[bot] (@imgbot[bot]) `__ -- `ImSorryButWho (@ImSorryButWho) `__ - `imwoo90 (@imwoo90) `__ - `Dom (@Ing-Dom) `__ - `Ingo Becker (@ingobecker) `__ @@ -666,6 +672,7 @@ Contributors - `jimtng (@jimtng) `__ - `jivesinger (@jivesinger) `__ - `jj-uk (@jj-uk) `__ +- `Jean J. de Jong (@jjdejong) `__ - `John K. Luebs (@jkl1337) `__ - `Jeppe Ladefoged (@jladefoged) `__ - `Jean-Luc Béchennec (@jlbirccyn) `__ @@ -679,6 +686,7 @@ Contributors - `jochenvg (@jochenvg) `__ - `Johboh (@Johboh) `__ - `John Moxley (@johnmoxley) `__ +- `John White (@johnpwhite) `__ - `Dave Johnston (@johnsto) `__ - `joiboi (@joiboi) `__ - `JonasEr (@JonasEr) `__ @@ -690,11 +698,12 @@ Contributors - `Joris S (@Jorre05) `__ - `Jared Sanson (@jorticus) `__ - `JosephTang (@JosephTang) `__ +- `Joshua Baran (@joshbaran) `__ - `Joshua Spence (@joshuaspence) `__ - `joskfg (@joskfg) `__ - `Joscha Wagner (@jowgn) `__ - `Javier Peletier (@jpeletier) `__ -- `Jos Suanet (@jsuanet) `__ +- `jsuanet (@jsuanet) `__ - `James Szalay (@jtszalay) `__ - `Jules-R (@Jules-R) `__ - `Julie Koubová (@juliekoubova) `__ @@ -732,7 +741,7 @@ Contributors - `Kevin P. Fleming (@kpfleming) `__ - `Karl Q. (@kquinsland) `__ - `Anandha Saravanan (@KratosMr) `__ -- `Stefan Rado (@kroimon) `__ +- `kroimon (@kroimon) `__ - `krunkel (@krunkel) `__ - `kryptonitecb3 (@kryptonitecb3) `__ - `Kendell R (@KTibow) `__ @@ -746,16 +755,17 @@ Contributors - `Anton Viktorov (@latonita) `__ - `Lawrie George (@lawriege) `__ - `Ludovic BOUÉ (@lboue) `__ -- `Luca Cavalli (@lcavalli) `__ +- `lcavalli (@lcavalli) `__ - `Craig Fletcher (@leakypixel) `__ - `Dominik Wagenknecht (@LeDominik) `__ - `Benny de Leeuw (@leeuwte) `__ +- `Thayne (@Legot) `__ - `Leonardo La Rocca (@leoli51) `__ - `leoshusar (@leoshusar) `__ - `Leo Winter (@LeoWinterDE) `__ - `Lubos Horacek (@lhoracek) `__ - `Liionboy (@Liionboy) `__ -- `LiJu09 (@LiJu09) `__ +- `Juraj Liso (@LiJu09) `__ - `Li Junru (@lijunru-hub) `__ - `lillborje71 (@lillborje71) `__ - `Caleb Pryor (@lilmansplace) `__ @@ -802,6 +812,7 @@ Contributors - `Ben Marengo (@marengaz) `__ - `Marvin Gaube (@margau) `__ - `maringeph (@maringeph) `__ +- `Mario Di Vece (@mariodivece) `__ - `Mark Hildreth (@markhildreth) `__ - `Mark Schabacker (@markschabacker) `__ - `marshn (@marshn) `__ @@ -816,6 +827,7 @@ Contributors - `Mat931 (@Mat931) `__ - `mathieu-mp (@mathieu-mp) `__ - `matikij (@matikij) `__ +- `Matjah Sonneveld (@matjahs) `__ - `Michel Marti (@matoxp) `__ - `matt123p (@matt123p) `__ - `matthias882 (@matthias882) `__ @@ -839,6 +851,7 @@ Contributors - `Merlin Schumacher (@merlinschumacher) `__ - `Martin Flasskamp (@MFlasskamp) `__ - `Michael Hoffmann (@mghoffmann) `__ +- `Marcel Hetzendorfer (@mhetzi) `__ - `M Hightower (@mhightower83) `__ - `Michael Muré (@MichaelMure) `__ - `Michal Fapso (@michalfapso) `__ @@ -885,7 +898,6 @@ Contributors - `Martin Wetterwald (@mwetterw) `__ - `mwolter805 (@mwolter805) `__ - `myhomeiot (@myhomeiot) `__ -- `Igor Scheller (@MyIgel) `__ - `Mykle (@myklemykle) `__ - `Mynasru (@Mynasru) `__ - `Kevin Uhlir (@n0bel) `__ @@ -905,6 +917,7 @@ Contributors - `Nazar Mokrynskyi (@nazar-pc) `__ - `Bergont Nicolas (@nbergont) `__ - `neilger (@neilger) `__ +- `Neil Martin (@neilmartin83) `__ - `Nejc Koncan (@nejc-cc) `__ - `Nerijus Baliūnas (@nerijus) `__ - `Nicolas Graziano (@ngraziano) `__ @@ -928,7 +941,6 @@ Contributors - `Greg Johnson (@notgwj) `__ - `JJ (@notjj) `__ - `Geoffrey Mayo (@notmayo) `__ -- `notsonominal (@notsonominal) `__ - `nouser2013 (@nouser2013) `__ - `Paul Read (@nsolvepaul) `__ - `Nick (@ntompson) `__ @@ -944,7 +956,7 @@ Contributors - `Ockert Marais (@OckertM) `__ - `Dave Walker (@oddsockmachine) `__ - `Odd Stråbø (@oddstr13) `__ -- `Andrii Ganzevych (@odya) `__ +- `Andrey Ganzevich (@odya) `__ - `ogatatsu (@ogatatsu) `__ - `Oğuzhan Başer (@oguzhanbaser) `__ - `Larry (@ojaksch) `__ @@ -955,7 +967,7 @@ Contributors - `Onne (@onnlucky) `__ - `optimusprimespace (@optimusprimespace) `__ - `Oscar Bolmsten (@oscar-b) `__ -- `Mauri (@Otamay) `__ +- `Otamay (@Otamay) `__ - `Otto Winter (@OttoWinter) `__ - `Maxime Dufour (@outscale-mdr) `__ - `Ben Owen (@owenb321) `__ @@ -1029,7 +1041,7 @@ Contributors - `RadekHvizdos (@RadekHvizdos) `__ - `rafalstarczak (@rafalstarczak) `__ - `Florian Ragwitz (@rafl) `__ -- `Ben Winslow (@raineth) `__ +- `raineth (@raineth) `__ - `Ben V. Brown (@Ralim) `__ - `Benjamin G. (@Randomblock1) `__ - `randomllama (@randomllama) `__ @@ -1050,7 +1062,7 @@ Contributors - `Robert Gabrielson (@rgabrielson11) `__ - `Rafael Goes (@rgriffogoes) `__ - `rheinz (@rheinz) `__ -- `Richard Hopton (@richardhopton) `__ +- `richardhopton (@richardhopton) `__ - `Richard Klingler (@richardklingler) `__ - `Richard Lewis (@richrd) `__ - `Rishab Mehta (@rishabmehta7) `__ @@ -1062,6 +1074,7 @@ Contributors - `rnauber (@rnauber) `__ - `Rob Deutsch (@rob-deutsch) `__ - `Robert Alfaro (@robert-alfaro) `__ +- `Robert91911 (@Robert91911) `__ - `Robinson1999 (@Robinson1999) `__ - `RoboMagus (@RoboMagus) `__ - `Roeland Lutters (@Roeland54) `__ @@ -1093,6 +1106,7 @@ Contributors - `Sam Turner (@samturner3) `__ - `Sender (@sanderlv) `__ - `Sanjay Govind (@sanjay900) `__ +- `Marcin (@Santanachia) `__ - `sascha lammers (@sascha432) `__ - `Davide Perini (@sblantipodi) `__ - `sbur83 (@sbur83) `__ @@ -1122,6 +1136,7 @@ Contributors - `signix (@signix) `__ - `SiliconAvatar (@SiliconAvatar) `__ - `Mark Lopez (@Silvenga) `__ +- `James Chaloupka (@SirGoodenough) `__ - `Maximilian Ertl (@Sirs0ri) `__ - `Francisco J. Solis (@sisco0) `__ - `Derek Hageman (@Sizurka) `__ @@ -1152,7 +1167,7 @@ Contributors - `sticilface (@sticilface) `__ - `Stijn Tintel (@stintel) `__ - `Mathias Stock (@Stock-M) `__ -- `Daniel Jönsson (@Strixx76) `__ +- `Strixx76 (@Strixx76) `__ - `stubs12 (@stubs12) `__ - `sud33p (@sud33p) `__ - `sumirati (@sumirati) `__ @@ -1206,8 +1221,9 @@ Contributors - `Thomas Langewouters (@thouters) `__ - `Transylvania High Tech (@thtro) `__ - `Thunderbiscuits (@Thunderbiscuits) `__ -- `Tiago Freire (@tiagofreire-pt) `__ +- `tiagofreire-pt (@tiagofreire-pt) `__ - `Tijs-B (@Tijs-B) `__ +- `Bill Adams (@TikiBill) `__ - `Tim Boldt (@timboldt) `__ - `Tim Laurence (@timdaman) `__ - `Aidan Timson (@timmo001) `__ @@ -1216,7 +1232,7 @@ Contributors - `Tinkerfish (@tinkerfish) `__ - `TJ Horner (@tjhorner) `__ - `Christian (@Tntdruid) `__ -- `Philipp Riederer (@toelke) `__ +- `Philipp Tölke (@toelke) `__ - `tomaszduda23 (@tomaszduda23) `__ - `Tom Brien (@TomBrien) `__ - `Thomas Combriat (@tomcombriat) `__ @@ -1229,7 +1245,7 @@ Contributors - `Aleksandra M (@tort32) `__ - `tracestep (@tracestep) `__ - `Trent Houliston (@TrentHouliston) `__ -- `Felix E (@tribut) `__ +- `Felix Eckhofer (@tribut) `__ - `Trick van Staveren (@trickv) `__ - `TripitakaBC (@TripitakaBC) `__ - `Tobias (@tripplet) `__ @@ -1255,6 +1271,7 @@ Contributors - `Vlad Yarotsky (@v-yarotsky) `__ - `Vc (@Valcob) `__ - `Nad (@valordk) `__ +- `Vicent Climent (@vcliment89) `__ - `Veli Veromann (@velijv) `__ - `André Lademann (@vergissberlin) `__ - `Austin (@vidplace7) `__ @@ -1279,7 +1296,7 @@ Contributors - `whimsee (@whimsee) `__ - `wifwucite (@wifwucite) `__ - `wilberforce (@wilberforce) `__ -- `Willem Vooijs (@wildekek) `__ +- `wildekek (@wildekek) `__ - `Wingman3434 (@Wingman3434) `__ - `Emil Hesslow (@WizKid) `__ - `WJCarpenter (@wjcarpenter) `__ @@ -1298,7 +1315,7 @@ Contributors - `Xose Pérez (@xoseperez) `__ - `WitchKing (@xvil) `__ - `Andrew Kroll (@xxxajk) `__ -- `Yaroslav Heriatovych (@Yarikx) `__ +- `Yaroslav (@Yarikx) `__ - `Marcin Jaworski (@yawor) `__ - `yousaf465 (@yousaf465) `__ - `Yuval Aboulafia (@yuvalabou) `__ @@ -1306,11 +1323,10 @@ Contributors - `david reid (@zathras777) `__ - `Brynley McDonald (@ZephireNZ) `__ - `Geek_cat (@zhzhzhy) `__ -- `I. Tomita (@ziceva) `__ - `Stefan Goethals (@zipkid) `__ - `zivillian (@zivillian) `__ - `Zack Barett (@zsarnett) `__ - `Zsolt Zsiros (@ZsZs73) `__ - `Christian Zufferey (@zuzu59) `__ -*This page was last updated January 22, 2024.* +*This page was last updated February 21, 2024.* diff --git a/index.rst b/index.rst index 343bc3e3f..33204b53c 100644 --- a/index.rst +++ b/index.rst @@ -386,7 +386,7 @@ Miscellaneous AS3935, components/sensor/as3935, as3935.jpg, Storm lightning Binary Sensor Map, components/sensor/binary_sensor_map, binary_sensor_map.jpg, Map binary to value b-parasite, components/sensor/b_parasite, b_parasite.jpg, Moisture & Temperature & Humidity & Light - Combination, components/sensor/combination, function.svg, dark-invert + Combination, components/sensor/combination, function.svg, dark-invert Duty Time, components/sensor/duty_time, timer-play-outline.svg, dark-invert EZO sensor circuits, components/sensor/ezo, ezo-ph-circuit.png, (pH) FS3000, components/sensor/fs3000, fs3000.jpg, Air velocity @@ -659,7 +659,7 @@ Display Components ILI9486, components/display/ili9xxx, ili9341.jpg ILI9488, components/display/ili9xxx, ili9488.svg WSPICOLCD, components/display/ili9xxx, ili9488.svg - + Inkplate, components/display/inkplate6, inkplate6.jpg LCD Display, components/display/lcd_display, lcd.jpg MAX7219, components/display/max7219, max7219.jpg @@ -695,7 +695,7 @@ Touchscreen Components XPT2046, components/touchscreen/xpt2046, xpt2046.jpg GT911, components/touchscreen/gt911, esp32_s3_box_3.png FT63X6, components/touchscreen/ft63x6, wt32-sc01.png - + Cover Components ---------------- @@ -832,10 +832,12 @@ Home Assistant Companion Components Bluetooth Proxy, components/bluetooth_proxy, bluetooth.svg, dark-invert Voice Assistant, components/voice_assistant, voice-assistant.svg, dark-invert + micro Wake Word, components/micro_wake_word, voice-assistant.svg, dark-invert Sensor, components/sensor/homeassistant, home-assistant.svg, dark-invert Text Sensor, components/text_sensor/homeassistant, home-assistant.svg, dark-invert Binary Sensor, components/binary_sensor/homeassistant, home-assistant.svg, dark-invert + Alarm Control Panel Components ------------------------------ diff --git a/projects/installer.html b/projects/installer.html index 11d9b44bc..2eab8744a 100644 --- a/projects/installer.html +++ b/projects/installer.html @@ -95,7 +95,7 @@