Merge branch 'current' into next

This commit is contained in:
Jesse Hills 2023-07-19 21:53:11 +00:00
commit 80a00046ab
No known key found for this signature in database
GPG Key ID: BEAAE804EFD8E83A
8 changed files with 245 additions and 24 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

209
changelog/2023.7.0.rst Normal file
View File

@ -0,0 +1,209 @@
ESPHome 2023.7.0 - 19th July 2023
=================================
.. seo::
:description: Changelog for ESPHome 2023.7.0.
:image: /_static/changelog-2023.7.0.png
:author: Jesse Hills
:author_twitter: @jesserockz
.. imgtable::
:columns: 4
XL9535 I/O Expander, components/xl9535, xl9535.svg
Zio Ultrasonic Sensor, components/sensor/zio_ultrasonic, zio_ultrasonic.jpg
Alpha3, components/sensor/alpha3, alpha3.jpg
PCF8563 RTC, components/time/pcf8563, clock-outline.svg, dark-invert
TT21100, components/touchscreen/tt21100, esp32-s3-korvo-2-lcd.png
Grove TB6612FNG, components/grove_tb6612fng, motor.png
ATM90E26, components/sensor/atm90e26, atm90e26.jpg
Duty Time, components/sensor/duty_time, timer-play-outline.svg, dark-invert
Webserver with ESP-IDF
----------------------
This releases adds support for the :doc:`Webserver </components/web_server>` and :doc:`/components/captive_portal`
when using the ``esp-idf`` framework on ESP32 boards.
Display components
------------------
This release adds a few changes to the display core code to optimise and allow for future
improvements which are already in progress. This also may bring breaking changes to the internal APIs that ``external_components``
may be relying on.
A new warning in the logs
-------------------------
.. code:: text
[00:00:00][W][component:204]: Component xxxxxx took a long time for an operation (x.xx s).
[00:00:00][W][component:205]: Components should block for at most 20-30ms.
These 2 log lines may show up in the most recent version of ESPHome due to the log level being changed from `verbose` to `warning`.
I made this change because changing the device log level to verbose just to see if these lines show up significantly slowed down
the device due to all the extra logging it had to do.
Please do not report new issues for this, but `comment on this issue <https://github.com/esphome/issues/issues/4714>`__
if someone has not already commented for that specific component.
Full list of changes
--------------------
New Components
^^^^^^^^^^^^^^
- XL9535 I/O Expander :esphomepr:`4899` by :ghuser:`mreditor97` (new-integration)
- Add Zio Ultrasonic Distance Sensor Component :esphomepr:`5059` by :ghuser:`kahrendt` (new-integration)
- Add Alpha3 pump component :esphomepr:`3787` by :ghuser:`jan-hofmeier` (new-integration)
- RTC implementation of pcf8563 :esphomepr:`4998` by :ghuser:`KoenBreeman` (new-integration)
- web server esp idf suppport :esphomepr:`3500` by :ghuser:`dentra` (new-integration)
- Add TT21100 touchscreen component :esphomepr:`4793` by :ghuser:`kroimon` (new-integration)
- Add support for Grove tb6612 fng :esphomepr:`4797` by :ghuser:`max246` (new-integration)
- Add support for ATM90E26 :esphomepr:`4366` by :ghuser:`danieltwagner` (new-integration)
- New 'Duty Time' sensor component :esphomepr:`5069` by :ghuser:`dudanov` (new-integration)
Breaking Changes
^^^^^^^^^^^^^^^^
- display: add `BaseFont` and introduce `Font::draw` methods :esphomepr:`4963` by :ghuser:`ayufan` (breaking-change)
- display: Rename `display.DisplayBufferRef` to `display.DisplayRef` used by lambda :esphomepr:`5002` by :ghuser:`ayufan` (breaking-change)
- Remove template switch restore_state :esphomepr:`5106` by :ghuser:`jesserockz` (breaking-change)
Beta Changes
^^^^^^^^^^^^
- Dont do mqtt ip lookup if `use_address` has ip address :esphomepr:`5096` by :ghuser:`jesserockz`
- ESP32 enable ADC2 when wifi is disabled :esphomepr:`4381` by :ghuser:`pciavald`
- [Sprinkler] Resume fixes :esphomepr:`5100` by :ghuser:`hostcc`
- Remove template switch restore_state :esphomepr:`5106` by :ghuser:`jesserockz` (breaking-change)
- Add timeout filter :esphomepr:`5104` by :ghuser:`clydebarrow`
- P1 values for capacity tariff in Belgium :esphomepr:`5081` by :ghuser:`bwynants`
- airthings_wave: Silence compiler warnings :esphomepr:`5098` by :ghuser:`kpfleming`
- Sigma delta fix :esphomepr:`4911` by :ghuser:`PlainTechEnthusiast`
- [LD2410] Remove baud_rate check :esphomepr:`5112` by :ghuser:`voed`
- Fix silence detection flag on voice assistant :esphomepr:`5120` by :ghuser:`jesserockz`
All changes
^^^^^^^^^^^
- Upgraded Haier climate component implementation :esphomepr:`4521` by :ghuser:`paveldn`
- display: add `BaseFont` and introduce `Font::draw` methods :esphomepr:`4963` by :ghuser:`ayufan` (breaking-change)
- display/font: optimise font rendering by about 25% :esphomepr:`4956` by :ghuser:`ayufan`
- display: move `Rect` into `rect.cpp/.h` :esphomepr:`4957` by :ghuser:`ayufan`
- Bump pytest from 7.3.1 to 7.3.2 :esphomepr:`4936` by :ghuser:`dependabot[bot]`
- Add read/write for 16bit registers :esphomepr:`4844` by :ghuser:`CarsonF`
- XL9535 I/O Expander :esphomepr:`4899` by :ghuser:`mreditor97` (new-integration)
- Fix python venv restoring :esphomepr:`4965` by :ghuser:`jesserockz`
- Preprocess away unused code when IPv6 is disabled :esphomepr:`4973` by :ghuser:`HeMan`
- Bump aioesphomeapi from 14.0.0 to 14.1.0 :esphomepr:`4972` by :ghuser:`dependabot[bot]`
- Add actions to animation :esphomepr:`4959` by :ghuser:`guillempages`
- Bump zeroconf from 0.63.0 to 0.69.0 :esphomepr:`4970` by :ghuser:`dependabot[bot]`
- mqtt: add ESP-IDF >= 5.0 support :esphomepr:`4854` by :ghuser:`stintel`
- display: move `Image`, `Font` and `Animation` code into components :esphomepr:`4967` by :ghuser:`ayufan`
- support empty schemas and one platform components :esphomepr:`4999` by :ghuser:`glmnet`
- update dsmr to 0.7 :esphomepr:`5011` by :ghuser:`Pvlerick`
- add water delivered to dsmr component :esphomepr:`4237` by :ghuser:`jerome992`
- Update sync workflow :esphomepr:`5017` by :ghuser:`jesserockz`
- Bump aioesphomeapi from 14.1.0 to 15.0.0 :esphomepr:`5012` by :ghuser:`dependabot[bot]`
- Bump pyupgrade from 3.4.0 to 3.7.0 :esphomepr:`4971` by :ghuser:`dependabot[bot]`
- Bump pytest from 7.3.2 to 7.4.0 :esphomepr:`5000` by :ghuser:`dependabot[bot]`
- Attempt to fix script parameters :esphomepr:`4627` by :ghuser:`jesserockz`
- Remove yaml test cache :esphomepr:`5019` by :ghuser:`jesserockz`
- Bump esptool from 4.6 to 4.6.2 :esphomepr:`4949` by :ghuser:`dependabot[bot]`
- Bump pytest-mock from 3.10.0 to 3.11.1 :esphomepr:`4977` by :ghuser:`dependabot[bot]`
- binary_sensor removed unused filter :esphomepr:`5039` by :ghuser:`dudanov`
- binary_sensor filters templatable delays :esphomepr:`5029` by :ghuser:`dudanov`
- Improve the gamma settings for the S3-Box-lite display :esphomepr:`5046` by :ghuser:`guillempages`
- Prepare ethernet to work with esp idf 5.0 :esphomepr:`5037` by :ghuser:`HeMan`
- Prepare debug and logger component to work with idf 5.0 :esphomepr:`5036` by :ghuser:`HeMan`
- Mopeka std fixes :esphomepr:`5041` by :ghuser:`Fabian-Schmidt`
- Adjust signature for on_disconnect :esphomepr:`5009` by :ghuser:`bdraco`
- Log component long time message at warning level :esphomepr:`5048` by :ghuser:`jesserockz`
- Log start of i2c setup :esphomepr:`5049` by :ghuser:`jesserockz`
- Initial debug component support for rp2040 :esphomepr:`5056` by :ghuser:`HeMan`
- Fix when idf component has broken symlinks :esphomepr:`5058` by :ghuser:`jesserockz`
- Some tests wasn't running (locally) :esphomepr:`5050` by :ghuser:`HeMan`
- [ILI9xxx] Add ili9488_a (alternative gamma configuration for ILI9488) :esphomepr:`5027` by :ghuser:`lnicolas83`
- [ili9xxx] Allow config of spi data rate. :esphomepr:`4701` by :ghuser:`Fabian-Schmidt`
- Make scheduler debuging work with idf >= 5 :esphomepr:`5052` by :ghuser:`HeMan`
- Adds 1.54" e-ink display (gdew0154m09) support to waveshare_epaper component :esphomepr:`4939` by :ghuser:`tobiasoort`
- display: split `DisplayBuffer` and `Display` :esphomepr:`5001` by :ghuser:`ayufan`
- Fixed ili9xxx_display update() method :esphomepr:`5013` by :ghuser:`nielsnl68`
- [Ethernet] ksz8081rna support :esphomepr:`4739` by :ghuser:`Fabian-Schmidt`
- Improve BME680 BSEC sensor device classes :esphomepr:`4859` by :ghuser:`trvrnrth`
- Update RP2040 Aruino framwork and platform to latest :esphomepr:`5025` by :ghuser:`HeMan`
- Allow pillow versions over 10 :esphomepr:`5071` by :ghuser:`HeMan`
- display: Rename `display.DisplayBufferRef` to `display.DisplayRef` used by lambda :esphomepr:`5002` by :ghuser:`ayufan` (breaking-change)
- Add Zio Ultrasonic Distance Sensor Component :esphomepr:`5059` by :ghuser:`kahrendt` (new-integration)
- Add Alpha3 pump component :esphomepr:`3787` by :ghuser:`jan-hofmeier` (new-integration)
- RTC implementation of pcf8563 :esphomepr:`4998` by :ghuser:`KoenBreeman` (new-integration)
- web server esp idf suppport :esphomepr:`3500` by :ghuser:`dentra` (new-integration)
- Add TT21100 touchscreen component :esphomepr:`4793` by :ghuser:`kroimon` (new-integration)
- tuya_light: fix float->int conversion while setting color temperature :esphomepr:`5067` by :ghuser:`kswt`
- Fix typo in mpu6050.cpp :esphomepr:`5086` by :ghuser:`stefanklug`
- airthings_wave: Battery level reporting :esphomepr:`4979` by :ghuser:`kpfleming`
- Add support for Grove tb6612 fng :esphomepr:`4797` by :ghuser:`max246` (new-integration)
- Add MCP2515 12MHz xtal support :esphomepr:`5089` by :ghuser:`clydebarrow`
- Correct message for standard transmission. :esphomepr:`5088` by :ghuser:`clydebarrow`
- Restrict pillow to versions before 10.0.0 :esphomepr:`5090` by :ghuser:`jesserockz`
- Bump esphome-dashboard to 20230711.0 :esphomepr:`5085` by :ghuser:`jesserockz`
- added uart final validate data bits :esphomepr:`5079` by :ghuser:`dudanov`
- Add support for ATM90E26 :esphomepr:`4366` by :ghuser:`danieltwagner` (new-integration)
- Grove amend name :esphomepr:`5093` by :ghuser:`max246`
- Fixing colon for tm1637 display if inverted set true :esphomepr:`5072` by :ghuser:`paveldn`
- Fix use of optional<T> :esphomepr:`5091` by :ghuser:`dudanov`
- New 'Duty Time' sensor component :esphomepr:`5069` by :ghuser:`dudanov` (new-integration)
- Fix PIDController::in_deadband() to give correct result when error is zero :esphomepr:`5078` by :ghuser:`lewissbaker`
- Edit error message for pillow install to add version restrictions :esphomepr:`5094` by :ghuser:`jesserockz`
- Dont do mqtt ip lookup if `use_address` has ip address :esphomepr:`5096` by :ghuser:`jesserockz`
- ESP32 enable ADC2 when wifi is disabled :esphomepr:`4381` by :ghuser:`pciavald`
- [Sprinkler] Resume fixes :esphomepr:`5100` by :ghuser:`hostcc`
- Remove template switch restore_state :esphomepr:`5106` by :ghuser:`jesserockz` (breaking-change)
- Add timeout filter :esphomepr:`5104` by :ghuser:`clydebarrow`
- P1 values for capacity tariff in Belgium :esphomepr:`5081` by :ghuser:`bwynants`
- airthings_wave: Silence compiler warnings :esphomepr:`5098` by :ghuser:`kpfleming`
- Sigma delta fix :esphomepr:`4911` by :ghuser:`PlainTechEnthusiast`
- [LD2410] Remove baud_rate check :esphomepr:`5112` by :ghuser:`voed`
- Fix silence detection flag on voice assistant :esphomepr:`5120` by :ghuser:`jesserockz`
Past Changelogs
---------------
- :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`

View File

@ -2,7 +2,7 @@ Changelog
========= =========
.. redirect:: .. redirect::
:url: /changelog/2023.6.0.html :url: /changelog/2023.7.0.html
.. toctree:: .. toctree::
:glob: :glob:

View File

@ -94,7 +94,7 @@ This action arms the alarm in away mode. The ``code`` is required when *requires
on_...: on_...:
then: then:
- alarm_control_panel.arm_away: - alarm_control_panel.arm_away:
id: alarm id: acp1
code: "1234" code: "1234"
.. _alarm_control_panel_arm_home_action: .. _alarm_control_panel_arm_home_action:
@ -109,7 +109,7 @@ This action arms the alarm in home mode. The ``code`` is required when *requires
on_...: on_...:
then: then:
- alarm_control_panel.arm_home: - alarm_control_panel.arm_home:
id: alarm id: acp1
code: "1234" code: "1234"
.. _alarm_control_panel_disarm_action: .. _alarm_control_panel_disarm_action:
@ -124,7 +124,7 @@ This action disarms the alarm. The ``code`` is required when *codes* is not empt
on_...: on_...:
then: then:
- alarm_control_panel.disarm: - alarm_control_panel.disarm:
id: alarm id: acp1
code: "1234" code: "1234"
.. _alarm_control_panel_pending_action: .. _alarm_control_panel_pending_action:
@ -138,7 +138,7 @@ This action puts the alarm in pending state (the state before triggered after *p
on_...: on_...:
then: then:
- alarm_control_panel.pending: alarm - alarm_control_panel.pending: acp1
.. _alarm_control_panel_triggered_action: .. _alarm_control_panel_triggered_action:
@ -151,7 +151,7 @@ This action puts the alarm in triggered state.
on_...: on_...:
then: then:
- alarm_control_panel.triggered: alarm - alarm_control_panel.triggered: acp1
.. _alarm_control_panel_is_armed_condition: .. _alarm_control_panel_is_armed_condition:
@ -165,7 +165,7 @@ This :ref:`Condition <config-condition>` checks if the alarm control panel is ar
on_...: on_...:
if: if:
condition: condition:
alarm_control_panel.is_armed: alarm alarm_control_panel.is_armed: acp1
.. _alarm_control_panel_lambda_calls: .. _alarm_control_panel_lambda_calls:
@ -181,9 +181,9 @@ From :ref:`lambdas <config-lambda>`, you can call the following methods:
.. code-block:: cpp .. code-block:: cpp
id(alarm).arm_away(); id(acp1).arm_away();
id(alarm).arm_home(); id(acp1).arm_home();
id(alarm).disarm("1234"); id(acp1).disarm("1234");
Platforms Platforms

View File

@ -56,16 +56,24 @@ State Flow:
1. The alarm starts in ``DISARMED`` state 1. The alarm starts in ``DISARMED`` state
2. When the ``arm_...`` method is invoked 2. When the ``arm_...`` method is invoked
a. ``arming_time`` greater than 0 the state is ``ARMING`` a. ``arming_..._time`` is greater than 0 the state is ``ARMING``
b. ``arming_time`` is 0 or after the ``arming_time`` delay the state is ``ARM_AWAY`` or ``ARM_HOME`` b. ``arming_..._time`` is 0 or after the delay the state is ``ARMED_...``
3. When the alarm is tripped by a sensor state changing to ``on`` 3. When the alarm is tripped by a sensor state changing to ``on`` or ``alarm_control_panel_pending_action`` invoked
a. ``pending_time`` greater than 0 the state is ``PENDING`` a. ``pending_time`` greater than 0 the state is ``PENDING``
b. ``pending_time`` is 0 or after the ``pending_time`` delay the state is ``TRIGGERED`` b. ``pending_time`` is 0 or after the ``pending_time`` delay the state is ``TRIGGERED``
4. If ``trigger_time`` greater than 0 and no sensors are ``on`` after ``trigger_time`` delay 4. If ``trigger_time`` greater than 0 and no sensors are ``on`` after ``trigger_time`` delay
the state returns to ``ARM_AWAY`` or ``ARM_HOME`` the state returns to ``ARM_...``
.. note::
Although the interface supports all arming modes only ``away`` and ``home`` have been implemented for now.
``arm_...`` is for either ``arm_away`` or ``arm_home``
``arming_..._time`` is for either ``arming_away_time`` or ``arming_home_time``
``ARMED_...`` is for either ``ARMED_AWAY`` or ``ARMED_HOME``
Example: Example:
-------- --------
@ -75,11 +83,13 @@ Example:
alarm_control_panel: alarm_control_panel:
platform: template platform: template
name: Alarm Panel name: Alarm Panel
id: acp1
codes: codes:
- "1234" - "1234"
requires_code_to_arm: true requires_code_to_arm: true
arming_time: 10s arming_away_time: 30s
pending_time: 15s arming_home_time: 5s
pending_time: 30s
trigger_time: 5min trigger_time: 5min
binary_sensors: binary_sensors:
- input: zone_1 - input: zone_1

View File

@ -287,7 +287,7 @@ global variables can be used to store the state of a garage door.
id(my_global_int) += 10; id(my_global_int) += 10;
} }
ESP_LOGD(TAG, "%s: %d", id(my_global_string), id(my_global_int)); ESP_LOGD(TAG, "%s: %d", id(my_global_string).c_str(), id(my_global_int));
Configuration variables: Configuration variables:

View File

@ -238,6 +238,7 @@ Contributors
- `CODeRUS (@CODeRUS) <https://github.com/CODeRUS>`__ - `CODeRUS (@CODeRUS) <https://github.com/CODeRUS>`__
- `Alex Miller (@Codex-) <https://github.com/Codex->`__ - `Alex Miller (@Codex-) <https://github.com/Codex->`__
- `Cody James (@codyjamestechnical) <https://github.com/codyjamestechnical>`__ - `Cody James (@codyjamestechnical) <https://github.com/codyjamestechnical>`__
- `Coenie Richards (@coenier) <https://github.com/coenier>`__
- `Ashton Lafferty (@cogneato) <https://github.com/cogneato>`__ - `Ashton Lafferty (@cogneato) <https://github.com/cogneato>`__
- `Colin Leroy-Mira (@colinleroy) <https://github.com/colinleroy>`__ - `Colin Leroy-Mira (@colinleroy) <https://github.com/colinleroy>`__
- `Max (@coltoncat) <https://github.com/coltoncat>`__ - `Max (@coltoncat) <https://github.com/coltoncat>`__
@ -286,6 +287,7 @@ Contributors
- `Anthony Uk (@dataway) <https://github.com/dataway>`__ - `Anthony Uk (@dataway) <https://github.com/dataway>`__
- `Dav-id (@dav-id-org) <https://github.com/dav-id-org>`__ - `Dav-id (@dav-id-org) <https://github.com/dav-id-org>`__
- `DAVe3283 (@DAVe3283) <https://github.com/DAVe3283>`__ - `DAVe3283 (@DAVe3283) <https://github.com/DAVe3283>`__
- `David Marín (@davefx) <https://github.com/davefx>`__
- `Dave Richer (@davericher) <https://github.com/davericher>`__ - `Dave Richer (@davericher) <https://github.com/davericher>`__
- `Dave T (@davet2001) <https://github.com/davet2001>`__ - `Dave T (@davet2001) <https://github.com/davet2001>`__
- `Dave Wongillies (@davewongillies) <https://github.com/davewongillies>`__ - `Dave Wongillies (@davewongillies) <https://github.com/davewongillies>`__
@ -306,7 +308,6 @@ Contributors
- `ddt154 (@ddt154) <https://github.com/ddt154>`__ - `ddt154 (@ddt154) <https://github.com/ddt154>`__
- `DeadEnd (@DeadEnded) <https://github.com/DeadEnded>`__ - `DeadEnd (@DeadEnded) <https://github.com/DeadEnded>`__
- `Debashish Sahu (@debsahu) <https://github.com/debsahu>`__ - `Debashish Sahu (@debsahu) <https://github.com/debsahu>`__
- `declanshanaghy (@declanshanaghy) <https://github.com/declanshanaghy>`__
- `Maximilian (@DeerMaximum) <https://github.com/DeerMaximum>`__ - `Maximilian (@DeerMaximum) <https://github.com/DeerMaximum>`__
- `definitio (@definitio) <https://github.com/definitio>`__ - `definitio (@definitio) <https://github.com/definitio>`__
- `Christiaan Blom (@Deinara) <https://github.com/Deinara>`__ - `Christiaan Blom (@Deinara) <https://github.com/Deinara>`__
@ -529,6 +530,7 @@ Contributors
- `Hamish Moffatt (@hmoffatt) <https://github.com/hmoffatt>`__ - `Hamish Moffatt (@hmoffatt) <https://github.com/hmoffatt>`__
- `Marcel Hoppe (@hobbypunk90) <https://github.com/hobbypunk90>`__ - `Marcel Hoppe (@hobbypunk90) <https://github.com/hobbypunk90>`__
- `Hopperpop (@Hopperpop) <https://github.com/Hopperpop>`__ - `Hopperpop (@Hopperpop) <https://github.com/Hopperpop>`__
- `Ilia Sotnikov (@hostcc) <https://github.com/hostcc>`__
- `Yang Hau (@howjmay) <https://github.com/howjmay>`__ - `Yang Hau (@howjmay) <https://github.com/howjmay>`__
- `hpineapples (@hpineapples) <https://github.com/hpineapples>`__ - `hpineapples (@hpineapples) <https://github.com/hpineapples>`__
- `Antonio Vanegas (@hpsaturn) <https://github.com/hpsaturn>`__ - `Antonio Vanegas (@hpsaturn) <https://github.com/hpsaturn>`__
@ -683,6 +685,7 @@ Contributors
- `Klarstein (@Klarstein) <https://github.com/Klarstein>`__ - `Klarstein (@Klarstein) <https://github.com/Klarstein>`__
- `Marcus Klein (@kleini) <https://github.com/kleini>`__ - `Marcus Klein (@kleini) <https://github.com/kleini>`__
- `KNXBroker (@KNXBroker) <https://github.com/KNXBroker>`__ - `KNXBroker (@KNXBroker) <https://github.com/KNXBroker>`__
- `KoenBreeman (@KoenBreeman) <https://github.com/KoenBreeman>`__
- `kokangit (@kokangit) <https://github.com/kokangit>`__ - `kokangit (@kokangit) <https://github.com/kokangit>`__
- `konsulten (@konsulten) <https://github.com/konsulten>`__ - `konsulten (@konsulten) <https://github.com/konsulten>`__
- `Kevin Pelzel (@kpelzel) <https://github.com/kpelzel>`__ - `Kevin Pelzel (@kpelzel) <https://github.com/kpelzel>`__
@ -711,6 +714,7 @@ Contributors
- `Benny de Leeuw (@leeuwte) <https://github.com/leeuwte>`__ - `Benny de Leeuw (@leeuwte) <https://github.com/leeuwte>`__
- `Leonardo La Rocca (@leoli51) <https://github.com/leoli51>`__ - `Leonardo La Rocca (@leoli51) <https://github.com/leoli51>`__
- `Leo Winter (@LeoWinterDE) <https://github.com/LeoWinterDE>`__ - `Leo Winter (@LeoWinterDE) <https://github.com/LeoWinterDE>`__
- `Lewis Baker (@lewissbaker) <https://github.com/lewissbaker>`__
- `Leon Loopik (@Lewn) <https://github.com/Lewn>`__ - `Leon Loopik (@Lewn) <https://github.com/Lewn>`__
- `Luca Gugelmann (@lgugelmann) <https://github.com/lgugelmann>`__ - `Luca Gugelmann (@lgugelmann) <https://github.com/lgugelmann>`__
- `Lubos Horacek (@lhoracek) <https://github.com/lhoracek>`__ - `Lubos Horacek (@lhoracek) <https://github.com/lhoracek>`__
@ -801,7 +805,6 @@ Contributors
- `melyux (@melyux) <https://github.com/melyux>`__ - `melyux (@melyux) <https://github.com/melyux>`__
- `Merlin Schumacher (@merlinschumacher) <https://github.com/merlinschumacher>`__ - `Merlin Schumacher (@merlinschumacher) <https://github.com/merlinschumacher>`__
- `Martin Flasskamp (@MFlasskamp) <https://github.com/MFlasskamp>`__ - `Martin Flasskamp (@MFlasskamp) <https://github.com/MFlasskamp>`__
- `Michael Gorven (@mgorven) <https://github.com/mgorven>`__
- `M Hightower (@mhightower83) <https://github.com/mhightower83>`__ - `M Hightower (@mhightower83) <https://github.com/mhightower83>`__
- `Jörg Thalheim (@Mic92) <https://github.com/Mic92>`__ - `Jörg Thalheim (@Mic92) <https://github.com/Mic92>`__
- `Michael Muré (@MichaelMure) <https://github.com/MichaelMure>`__ - `Michael Muré (@MichaelMure) <https://github.com/MichaelMure>`__
@ -827,7 +830,6 @@ Contributors
- `mmanza (@mmanza) <https://github.com/mmanza>`__ - `mmanza (@mmanza) <https://github.com/mmanza>`__
- `mnltake (@mnltake) <https://github.com/mnltake>`__ - `mnltake (@mnltake) <https://github.com/mnltake>`__
- `Matt N. (@mnoorenberghe) <https://github.com/mnoorenberghe>`__ - `Matt N. (@mnoorenberghe) <https://github.com/mnoorenberghe>`__
- `Michał Obrembski (@mobrembski) <https://github.com/mobrembski>`__
- `moritzj29 (@moritzj29) <https://github.com/moritzj29>`__ - `moritzj29 (@moritzj29) <https://github.com/moritzj29>`__
- `Chris Laplante (@mostthingsweb) <https://github.com/mostthingsweb>`__ - `Chris Laplante (@mostthingsweb) <https://github.com/mostthingsweb>`__
- `MrEditor97 (@mreditor97) <https://github.com/mreditor97>`__ - `MrEditor97 (@mreditor97) <https://github.com/mreditor97>`__
@ -846,7 +848,6 @@ Contributors
- `Igor Scheller (@MyIgel) <https://github.com/MyIgel>`__ - `Igor Scheller (@MyIgel) <https://github.com/MyIgel>`__
- `Mykle (@myklemykle) <https://github.com/myklemykle>`__ - `Mykle (@myklemykle) <https://github.com/myklemykle>`__
- `Mynasru (@Mynasru) <https://github.com/Mynasru>`__ - `Mynasru (@Mynasru) <https://github.com/Mynasru>`__
- `Mikhail Zakharov (@mzakharo) <https://github.com/mzakharo>`__
- `Kevin Uhlir (@n0bel) <https://github.com/n0bel>`__ - `Kevin Uhlir (@n0bel) <https://github.com/n0bel>`__
- `N6RDV (@N6RDV) <https://github.com/N6RDV>`__ - `N6RDV (@N6RDV) <https://github.com/N6RDV>`__
- `Erik Näsström (@Naesstrom) <https://github.com/Naesstrom>`__ - `Erik Näsström (@Naesstrom) <https://github.com/Naesstrom>`__
@ -861,7 +862,6 @@ Contributors
- `Bergont Nicolas (@nbergont) <https://github.com/nbergont>`__ - `Bergont Nicolas (@nbergont) <https://github.com/nbergont>`__
- `neilger (@neilger) <https://github.com/neilger>`__ - `neilger (@neilger) <https://github.com/neilger>`__
- `Nejc Koncan (@nejc-cc) <https://github.com/nejc-cc>`__ - `Nejc Koncan (@nejc-cc) <https://github.com/nejc-cc>`__
- `Mike Meessen (@netmikey) <https://github.com/netmikey>`__
- `Nicolas Graziano (@ngraziano) <https://github.com/ngraziano>`__ - `Nicolas Graziano (@ngraziano) <https://github.com/ngraziano>`__
- `nickrout (@nickrout) <https://github.com/nickrout>`__ - `nickrout (@nickrout) <https://github.com/nickrout>`__
- `Nick Whyte (@nickw444) <https://github.com/nickw444>`__ - `Nick Whyte (@nickw444) <https://github.com/nickw444>`__
@ -919,6 +919,7 @@ Contributors
- `Paul Deen (@PaulAntonDeen) <https://github.com/PaulAntonDeen>`__ - `Paul Deen (@PaulAntonDeen) <https://github.com/PaulAntonDeen>`__
- `Paul Monigatti (@paulmonigatti) <https://github.com/paulmonigatti>`__ - `Paul Monigatti (@paulmonigatti) <https://github.com/paulmonigatti>`__
- `Paul Nicholls (@pauln) <https://github.com/pauln>`__ - `Paul Nicholls (@pauln) <https://github.com/pauln>`__
- `Pavlo Dudnytskyi (@paveldn) <https://github.com/paveldn>`__
- `Bartłomiej Biernacki (@pax0r) <https://github.com/pax0r>`__ - `Bartłomiej Biernacki (@pax0r) <https://github.com/pax0r>`__
- `pcr20 (@pcr20) <https://github.com/pcr20>`__ - `pcr20 (@pcr20) <https://github.com/pcr20>`__
- `peddamat (@peddamat) <https://github.com/peddamat>`__ - `peddamat (@peddamat) <https://github.com/peddamat>`__
@ -938,6 +939,7 @@ Contributors
- `Piotr Kubiak (@piotr-kubiak) <https://github.com/piotr-kubiak>`__ - `Piotr Kubiak (@piotr-kubiak) <https://github.com/piotr-kubiak>`__
- `Peter Kuehne (@pkuehne) <https://github.com/pkuehne>`__ - `Peter Kuehne (@pkuehne) <https://github.com/pkuehne>`__
- `Plácido Revilla (@placidorevilla) <https://github.com/placidorevilla>`__ - `Plácido Revilla (@placidorevilla) <https://github.com/placidorevilla>`__
- `PlainTechEnthusiast (@PlainTechEnthusiast) <https://github.com/PlainTechEnthusiast>`__
- `Marcus Kempe (@plopp) <https://github.com/plopp>`__ - `Marcus Kempe (@plopp) <https://github.com/plopp>`__
- `Jan Pluskal (@pluskal) <https://github.com/pluskal>`__ - `Jan Pluskal (@pluskal) <https://github.com/pluskal>`__
- `DK (@poldim) <https://github.com/poldim>`__ - `DK (@poldim) <https://github.com/poldim>`__
@ -1215,11 +1217,10 @@ Contributors
- `Brynley McDonald (@ZephireNZ) <https://github.com/ZephireNZ>`__ - `Brynley McDonald (@ZephireNZ) <https://github.com/ZephireNZ>`__
- `Geek_cat (@zhzhzhy) <https://github.com/zhzhzhy>`__ - `Geek_cat (@zhzhzhy) <https://github.com/zhzhzhy>`__
- `I. Tomita (@ziceva) <https://github.com/ziceva>`__ - `I. Tomita (@ziceva) <https://github.com/ziceva>`__
- `Michael Labuschke (@zigman79) <https://github.com/zigman79>`__
- `Stefan Goethals (@zipkid) <https://github.com/zipkid>`__ - `Stefan Goethals (@zipkid) <https://github.com/zipkid>`__
- `zivillian (@zivillian) <https://github.com/zivillian>`__ - `zivillian (@zivillian) <https://github.com/zivillian>`__
- `Loïc (@zoic21) <https://github.com/zoic21>`__ - `Loïc (@zoic21) <https://github.com/zoic21>`__
- `Zack Barett (@zsarnett) <https://github.com/zsarnett>`__ - `Zack Barett (@zsarnett) <https://github.com/zsarnett>`__
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__ - `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
*This page was last updated July 10, 2023.* *This page was last updated July 19, 2023.*

View File

@ -753,6 +753,7 @@ Time Components
SNTP, components/time/sntp, clock-outline.svg, dark-invert SNTP, components/time/sntp, clock-outline.svg, dark-invert
GPS Time, components/time/gps, crosshairs-gps.svg, dark-invert GPS Time, components/time/gps, crosshairs-gps.svg, dark-invert
DS1307 RTC, components/time/ds1307, clock-outline.svg, dark-invert DS1307 RTC, components/time/ds1307, clock-outline.svg, dark-invert
PCF8563 RTC, components/time/pcf8563, clock-outline.svg, dark-invert
PCF85063 RTC, components/time/pcf85063, clock-outline.svg, dark-invert PCF85063 RTC, components/time/pcf85063, clock-outline.svg, dark-invert
Home Assistant Companion Components Home Assistant Companion Components