mirror of
https://github.com/esphome/esphome-docs.git
synced 2024-12-26 17:27:47 +01:00
Merge branch 'current' into next
This commit is contained in:
commit
1f2fad852c
BIN
_static/changelog-2022.10.0.png
Normal file
BIN
_static/changelog-2022.10.0.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
127
changelog/2022.10.0.rst
Normal file
127
changelog/2022.10.0.rst
Normal file
@ -0,0 +1,127 @@
|
||||
ESPHome 2022.10.0 - 19th October 2022
|
||||
=====================================
|
||||
|
||||
.. seo::
|
||||
:description: Changelog for ESPHome 2022.10.0.
|
||||
:image: /_static/changelog-2022.10.0.png
|
||||
:author: Jesse Hills
|
||||
:author_twitter: @jesserockz
|
||||
|
||||
.. imgtable::
|
||||
:columns: 2
|
||||
|
||||
BLE Client RSSI Sensor, components/sensor/ble_client, bluetooth.svg
|
||||
ZHLT01 IR Climate, components/climate/climate_ir, air-conditioner-ir.svg
|
||||
|
||||
|
||||
|
||||
This month we have been busy upgrading the Bluetooth Proxy support for Home Assistant.
|
||||
This meant there are many PRs awaiting reviews for new components that were unable to be
|
||||
reviewed and merged in time. We will be trying to pack the next release.
|
||||
|
||||
Python Version 3.9
|
||||
------------------
|
||||
|
||||
ESPHome now requires Python 3.9 or newer. This is taken care of if you use the Home Assistant addon
|
||||
or docker image. If using pip, you will need to upgrade your Python version manually before ESPHome will
|
||||
upgrade.
|
||||
|
||||
BLE Client Sensors
|
||||
------------------
|
||||
|
||||
Due to adding a new RSSI sensor to the ``ble_client`` sensor platform, a new ``type`` configuration variable.
|
||||
You will get a validation error when you try to install and you have not added a ``type`` to your
|
||||
existing configurations.
|
||||
|
||||
XPT2046 Touchscreen
|
||||
-------------------
|
||||
|
||||
The ``xpt2046`` touchscreen component has been updated to be a platform of ``touchscreen`` instead of a
|
||||
top level component. This requires a small change to your configuration, see :doc:`/components/touchscreen/xpt2046`
|
||||
for the new way to configure.
|
||||
|
||||
|
||||
Full list of changes
|
||||
--------------------
|
||||
|
||||
Breaking Changes
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
- Thermostat remove deprecated config :esphomepr:`3643` by :ghuser:`MrMDavidson` (breaking-change)
|
||||
- Bump python min to 3.9 :esphomepr:`3871` by :ghuser:`jesserockz` (breaking-change)
|
||||
- Refactor xpt2046 to be a touchscreen platform :esphomepr:`3793` by :ghuser:`nielsnl68` (breaking-change)
|
||||
- Add ble RSSI sensor for connected devices :esphomepr:`3860` by :ghuser:`RoboMagus` (breaking-change)
|
||||
|
||||
Beta Changes
|
||||
^^^^^^^^^^^^
|
||||
|
||||
- fix never calling preset change trigger :esphomepr:`3864` by :ghuser:`glmnet`
|
||||
- Modbus QWORD fix :esphomepr:`3856` by :ghuser:`dudanov`
|
||||
- Send true and not RSSI in ble_presence :esphomepr:`3904` by :ghuser:`fjouault`
|
||||
- Remove address type map from bluetooth proxy :esphomepr:`3905` by :ghuser:`jesserockz`
|
||||
|
||||
All changes
|
||||
^^^^^^^^^^^
|
||||
|
||||
- Update mcp23s17.cpp :esphomepr:`3797` by :ghuser:`pawel3410`
|
||||
- Allow CORS for web_server :esphomepr:`3819` by :ghuser:`zhzhzhy`
|
||||
- Dont fail fast on CI for docker :esphomepr:`3832` by :ghuser:`jesserockz`
|
||||
- Thermostat remove deprecated config :esphomepr:`3643` by :ghuser:`MrMDavidson` (breaking-change)
|
||||
- Add support for parsing the short local name in the tracker :esphomepr:`3854` by :ghuser:`bdraco`
|
||||
- Add display GPIO setup instruction for Aliexpress display :esphomepr:`3851` by :ghuser:`kbx81`
|
||||
- fix dump preset string type :esphomepr:`3863` by :ghuser:`glmnet`
|
||||
- Bump CI to python 3.9 :esphomepr:`3869` by :ghuser:`jesserockz`
|
||||
- Add cg.with_local_variable :esphomepr:`3577` by :ghuser:`jpeletier`
|
||||
- Fix time/automation (cron) wdt crash when time jumps ahead too much :esphomepr:`3844` by :ghuser:`jpeletier`
|
||||
- Bump pyupgrade from 2.37.3 to 3.0.0 :esphomepr:`3867` by :ghuser:`dependabot[bot]`
|
||||
- Add min_version to esphome config :esphomepr:`3866` by :ghuser:`jesserockz`
|
||||
- Bump python min to 3.9 :esphomepr:`3871` by :ghuser:`jesserockz` (breaking-change)
|
||||
- Bump pylint from 2.15.2 to 2.15.3 :esphomepr:`3870` by :ghuser:`dependabot[bot]`
|
||||
- Add new sensor device classes :esphomepr:`3895` by :ghuser:`jesserockz`
|
||||
- Refactor xpt2046 to be a touchscreen platform :esphomepr:`3793` by :ghuser:`nielsnl68` (breaking-change)
|
||||
- Proxy friendly host url resolution for `use_address` with path. :esphomepr:`3653` by :ghuser:`RoboMagus`
|
||||
- Update webserver index file :esphomepr:`3896` by :ghuser:`jesserockz`
|
||||
- Correctly set ble_write UUIDs based on their lengths. :esphomepr:`3885` by :ghuser:`RoboMagus`
|
||||
- Fix default unit for ble_rssi sensor :esphomepr:`3874` by :ghuser:`RoboMagus`
|
||||
- Exposing coordinates from touchscreen binary sensor :esphomepr:`3891` by :ghuser:`gpambrozio`
|
||||
- Fix type annotation on `extract_registry_entry_config` :esphomepr:`3623` by :ghuser:`quentinmit`
|
||||
- Add ble RSSI sensor for connected devices :esphomepr:`3860` by :ghuser:`RoboMagus` (breaking-change)
|
||||
- Fix pulse_meter filter logic :esphomepr:`3321` by :ghuser:`cstaahl`
|
||||
- Add support for ZHLT01 heatpump IR protocol :esphomepr:`3655` by :ghuser:`cfeenstra1024`
|
||||
- Send GATT error events to HA :esphomepr:`3884` by :ghuser:`jesserockz`
|
||||
- Do not require CS pin for ST7789V :esphomepr:`3888` by :ghuser:`definitio`
|
||||
- fix never calling preset change trigger :esphomepr:`3864` by :ghuser:`glmnet`
|
||||
- Modbus QWORD fix :esphomepr:`3856` by :ghuser:`dudanov`
|
||||
- Send true and not RSSI in ble_presence :esphomepr:`3904` by :ghuser:`fjouault`
|
||||
- Remove address type map from bluetooth proxy :esphomepr:`3905` by :ghuser:`jesserockz`
|
||||
|
||||
Past Changelogs
|
||||
---------------
|
||||
|
||||
- :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`
|
@ -2,7 +2,7 @@ Changelog
|
||||
=========
|
||||
|
||||
.. redirect::
|
||||
:url: /changelog/2022.9.0.html
|
||||
:url: /changelog/2022.10.0.html
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
|
@ -19,7 +19,7 @@ nearby COVID-19 exposure notification bluetooth messages sent by phones running
|
||||
then:
|
||||
- lambda: |
|
||||
ESP_LOGD("main", "Got notification:");
|
||||
ESP_LOGD("main", " RPI: %s", hexencode(x.rolling_proximity_identifier).c_str());
|
||||
ESP_LOGD("main", " RPI: %s", format_hex_pretty(x.rolling_proximity_identifier).c_str());
|
||||
ESP_LOGD("main", " RSSI: %d", x.rssi);
|
||||
|
||||
Configuration variables:
|
||||
@ -67,7 +67,7 @@ minute, the indicator will be on.
|
||||
then:
|
||||
- lambda: |
|
||||
ESP_LOGD("main", "Got notification:");
|
||||
ESP_LOGD("main", " RPI: %s", hexencode(x.rolling_proximity_identifier).c_str());
|
||||
ESP_LOGD("main", " RPI: %s", format_hex_pretty(x.rolling_proximity_identifier).c_str());
|
||||
ESP_LOGD("main", " RSSI: %d", x.rssi);
|
||||
|
||||
# Stop existing timer so that turn_off doesn't get called
|
||||
|
@ -6,9 +6,10 @@ Logger Component
|
||||
:image: file-document-box.svg
|
||||
|
||||
The logger component automatically logs all log messages through the
|
||||
serial port and through MQTT topics. By default, all logs with a
|
||||
severity higher than ``DEBUG`` will be shown. Decreasing the log level
|
||||
can help with the performance of the application and memory size.
|
||||
serial port and through MQTT topics (if there is an MQTT client in the
|
||||
configuration). By default, all logs with a severity higher than
|
||||
``DEBUG`` will be shown. Decreasing the log level can help with the
|
||||
performance of the application and memory size.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
@ -54,7 +55,9 @@ The logger component makes use of platform-specific hardware UARTs for serial lo
|
||||
By default, the logger will occupy ``UART0``. The ESP32 has three hardware UARTs, all of
|
||||
which can be used for both transmit and receive. The ESP8266 only has two hardware UARTs,
|
||||
one of which is transmit-only. The ESP8266 ``UART0`` can also be 'swapped' to TX/RX on the
|
||||
CTS/RTS pins, if you need to use GPIO1 and GPIO3 for something else.
|
||||
CTS/RTS pins, if you need to use GPIO1 and GPIO3 for something else. Note that the common
|
||||
NodeMCU boards have their USB-UART Adapters fixed to the default GPIOs used by ``UART0``,
|
||||
so if you use anything else you will not get log messages over the on-board USB.
|
||||
|
||||
Possible Hardware UART configurations:
|
||||
|
||||
|
@ -7,7 +7,7 @@ CSE7766 Power Sensor
|
||||
:keywords: cse7766, cse7759b, Sonoff Pow R2
|
||||
|
||||
The ``cse7766`` sensor platform allows you to use your CSE7766 voltage/current and power sensors
|
||||
(`datasheet <http://dl.itead.cc/S31/CSE7766.pdf>`__) sensors with
|
||||
(`datasheet <https://itead.cc/wp-content/uploads/2022/05/CSE7766.pdf>`__) sensors with
|
||||
ESPHome. This sensor is commonly found in Sonoff POW R2. CSE7759B is similar to CSE7766
|
||||
and works with this integration.
|
||||
|
||||
|
@ -7,10 +7,10 @@ uFire Isolated EC sensor
|
||||
:keywords: ufire ec sensor temperature esphome
|
||||
|
||||
The ``ufire_ec`` sensor platform allows you to use your uFire Isolated EC sensor
|
||||
with ESPHome. The :ref:`I²C Bus <i2c>` 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
|
||||
be on the same board or external sensor linked to the uFire EC configuration.
|
||||
with ESPHome. The :ref:`I²C Bus <i2c>` is required to be set up in your
|
||||
configuration for this sensor to work. It requires also to have a temperature
|
||||
sensor in the liquid tank; this can be on the same board or an external sensor
|
||||
linked to the uFire EC configuration.
|
||||
|
||||
.. figure:: images/ufire_ec.png
|
||||
:align: center
|
||||
|
@ -6,7 +6,7 @@ Xiaomi Mijia BLE Sensors
|
||||
:image: xiaomi_mijia_logo.jpg
|
||||
:keywords: Xiaomi, Mi Home, Mijia, BLE, Bluetooth, HHCCJCY01, GCLS002, HHCCPOT002, LYWSDCGQ, LYWSD02, CGG1, LYWSD03MMC, CGD1, JQJCY01YM, MUE4094RT, WX08ZM, MHO, C401, MHOC401
|
||||
|
||||
The ``xiaomi_ble`` sensor platform lets you track the output of Xiaomi Bluetooth Low Energy devices using the :doc:`/components/esp32_ble_tracker`. This component will track, for example, the temperature, humidity, moisture, conductivity, illuminance, formaldehyde, mosquito tablet and battery level of the device every time the sensor sends out a BLE broadcast. Contrary to other implementations, ``xiaomi_ble`` listens passively to advertisement packets and does not pair with the device. Hence ESPHome has no impact on battery life. Thus, if you only use such sensors, you can safely set ``active: false`` in ``esp32_ble_tracker`` configuration, to save from spamming your RF environment with useless scan requests.
|
||||
The ``xiaomi_ble`` sensor platform lets you track the output of Xiaomi Bluetooth Low Energy devices using the :doc:`/components/esp32_ble_tracker`. This component will track, for example, the temperature, humidity, moisture, conductivity, illuminance, formaldehyde, mosquito tablet and battery level of the device every time the sensor sends out a BLE broadcast. Contrary to other implementations, ``xiaomi_ble`` listens passively to advertisement packets and does not pair with the device. Hence ESPHome has no impact on battery life. Thus, if you only use such sensors, you can safely set ``scan_parameters.active: false`` in ``esp32_ble_tracker`` configuration, to save from spamming your RF environment with useless scan requests.
|
||||
|
||||
Supported Devices
|
||||
-----------------
|
||||
@ -92,7 +92,7 @@ Configuration example:
|
||||
LYWSDCGQ
|
||||
********
|
||||
|
||||
Hygro thermometer, round body, segment LCD, broadcasts temperature, humidity and battery level.
|
||||
Hygro thermometer, round body, segment LCD, broadcasts temperature, humidity and battery level. This device is also known as MJ_HT_V1. In HA's native Xiaomi BLE integration, the device info page shows it as "MJ_HT_V1 (LYWSDCGQ by Xiaomi)".
|
||||
|
||||
.. figure:: images/xiaomi_lywsdcgq.jpg
|
||||
:align: center
|
||||
|
@ -107,7 +107,7 @@ The type of ``x`` variable is depending on ``datapoint_type`` configuration vari
|
||||
datapoint_type: raw
|
||||
then:
|
||||
- lambda: |-
|
||||
ESP_LOGD("main", "on_datapoint_update %s", hexencode(x).c_str());
|
||||
ESP_LOGD("main", "on_datapoint_update %s", format_hex_pretty(x).c_str());
|
||||
id(voltage).publish_state((x[0] << 8 | x[1]) * 0.1);
|
||||
id(current).publish_state((x[3] << 8 | x[4]) * 0.001);
|
||||
id(power).publish_state((x[6] << 8 | x[7]) * 0.1);
|
||||
@ -126,7 +126,7 @@ The type of ``x`` variable is depending on ``datapoint_type`` configuration vari
|
||||
then:
|
||||
- lambda: |-
|
||||
if (x.type == tuya::TuyaDatapointType::RAW) {
|
||||
ESP_LOGD("main", "on_datapoint_update %s", hexencode(x.value_raw).c_str());
|
||||
ESP_LOGD("main", "on_datapoint_update %s", format_hex_pretty(x.value_raw).c_str());
|
||||
} else {
|
||||
ESP_LOGD("main", "on_datapoint_update %hhu", x.type);
|
||||
}
|
||||
|
2
conf.py
2
conf.py
@ -40,7 +40,7 @@ extensions = [
|
||||
"github",
|
||||
"seo",
|
||||
"components",
|
||||
"sitemap"
|
||||
"sitemap",
|
||||
]
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
|
@ -274,7 +274,7 @@ global variables can be used to store the state of a garage door.
|
||||
- id: my_global_string
|
||||
type: std::string
|
||||
restore_value: no # Strings cannot be saved/restored
|
||||
initial_value: '"hello world"'
|
||||
initial_value: '"Global value is"'
|
||||
|
||||
# In an automation
|
||||
on_press:
|
||||
@ -287,7 +287,7 @@ global variables can be used to store the state of a garage door.
|
||||
id(my_global_int) += 10;
|
||||
}
|
||||
|
||||
ESP_LOGD(TAG, "Global value is: %d", id(my_global_int));
|
||||
ESP_LOGD(TAG, "%s: %d", id(my_global_string), id(my_global_int));
|
||||
|
||||
Configuration variables:
|
||||
|
||||
|
@ -152,6 +152,7 @@ Contributors
|
||||
- `Ciprian Constantinescu (@cciprian5) <https://github.com/cciprian5>`__
|
||||
- `Marco (@cdrfun) <https://github.com/cdrfun>`__
|
||||
- `Cellie (@CelliesProjects) <https://github.com/CelliesProjects>`__
|
||||
- `Chris Feenstra (@cfeenstra1024) <https://github.com/cfeenstra1024>`__
|
||||
- `Kostas Chatzikokolakis (@chatziko) <https://github.com/chatziko>`__
|
||||
- `chris-jennings (@chris-jennings) <https://github.com/chris-jennings>`__
|
||||
- `Chris (@chrismaki) <https://github.com/chrismaki>`__
|
||||
@ -210,6 +211,7 @@ Contributors
|
||||
- `Donovan Baarda (@dbaarda) <https://github.com/dbaarda>`__
|
||||
- `David Buezas (@dbuezas) <https://github.com/dbuezas>`__
|
||||
- `dckiller51 (@dckiller51) <https://github.com/dckiller51>`__
|
||||
- `Daniel Correa Lobato (@dclobato) <https://github.com/dclobato>`__
|
||||
- `Debashish Sahu (@debsahu) <https://github.com/debsahu>`__
|
||||
- `declanshanaghy (@declanshanaghy) <https://github.com/declanshanaghy>`__
|
||||
- `definitio (@definitio) <https://github.com/definitio>`__
|
||||
@ -297,6 +299,7 @@ Contributors
|
||||
- `Christian Ferbar (@ferbar) <https://github.com/ferbar>`__
|
||||
- `FeuerSturm (@FeuerSturm) <https://github.com/FeuerSturm>`__
|
||||
- `Frank Riley (@fhriley) <https://github.com/fhriley>`__
|
||||
- `Frédéric Jouault (@fjouault) <https://github.com/fjouault>`__
|
||||
- `fkirill (@fkirill) <https://github.com/fkirill>`__
|
||||
- `Sean Vig (@flacjacket) <https://github.com/flacjacket>`__
|
||||
- `Diego Elio Pettenò (@Flameeyes) <https://github.com/Flameeyes>`__
|
||||
@ -399,6 +402,7 @@ Contributors
|
||||
- `James Braid (@jamesbraid) <https://github.com/jamesbraid>`__
|
||||
- `James Duke (@jamesduke) <https://github.com/jamesduke>`__
|
||||
- `James Gao (@jamesgao) <https://github.com/jamesgao>`__
|
||||
- `James Lakin (@jamesorlakin) <https://github.com/jamesorlakin>`__
|
||||
- `Juraj Andrássy (@JAndrassy) <https://github.com/JAndrassy>`__
|
||||
- `Jan Grewe (@jangrewe) <https://github.com/jangrewe>`__
|
||||
- `János Rusiczki (@janosrusiczki) <https://github.com/janosrusiczki>`__
|
||||
@ -452,7 +456,6 @@ Contributors
|
||||
- `Javier Peletier (@jpeletier) <https://github.com/jpeletier>`__
|
||||
- `jsuanet (@jsuanet) <https://github.com/jsuanet>`__
|
||||
- `James Szalay (@jtszalay) <https://github.com/jtszalay>`__
|
||||
- `junnikokuki (@junnikokuki) <https://github.com/junnikokuki>`__
|
||||
- `Justahobby01 (@Justahobby01) <https://github.com/Justahobby01>`__
|
||||
- `Mike Ryan (@justfalter) <https://github.com/justfalter>`__
|
||||
- `Justin Gerhardt (@justin-gerhardt) <https://github.com/justin-gerhardt>`__
|
||||
@ -464,7 +467,6 @@ Contributors
|
||||
- `Kris (@K-r-i-s-t-i-a-n) <https://github.com/K-r-i-s-t-i-a-n>`__
|
||||
- `Harald Nagel (@k7hpn) <https://github.com/k7hpn>`__
|
||||
- `kaegi (@kaegi) <https://github.com/kaegi>`__
|
||||
- `kahrendt (@kahrendt) <https://github.com/kahrendt>`__
|
||||
- `Karol Zlot (@karolzlot) <https://github.com/karolzlot>`__
|
||||
- `Kattni (@kattni) <https://github.com/kattni>`__
|
||||
- `Krasimir Nedelchev (@kaykayehnn) <https://github.com/kaykayehnn>`__
|
||||
@ -483,10 +485,8 @@ Contributors
|
||||
- `Kevin Lewis (@kll) <https://github.com/kll>`__
|
||||
- `Koen Vervloesem (@koenvervloesem) <https://github.com/koenvervloesem>`__
|
||||
- `Petr Vraník (@konikvranik) <https://github.com/konikvranik>`__
|
||||
- `korellas (@korellas) <https://github.com/korellas>`__
|
||||
- `Kevin Pelzel (@kpelzel) <https://github.com/kpelzel>`__
|
||||
- `Karl Q. (@kquinsland) <https://github.com/kquinsland>`__
|
||||
- `krahabb (@krahabb) <https://github.com/krahabb>`__
|
||||
- `Kodey Converse (@krconv) <https://github.com/krconv>`__
|
||||
- `KristopherMackowiak (@KristopherMackowiak) <https://github.com/KristopherMackowiak>`__
|
||||
- `kroimon (@kroimon) <https://github.com/kroimon>`__
|
||||
@ -617,7 +617,6 @@ Contributors
|
||||
- `H. Árkosi Róbert (@nagyrobi) <https://github.com/nagyrobi>`__
|
||||
- `Viktor Nagy (@nagyv) <https://github.com/nagyv>`__
|
||||
- `Oskar Napieraj (@napieraj) <https://github.com/napieraj>`__
|
||||
- `Patrick ZAJDA (@Nardol) <https://github.com/Nardol>`__
|
||||
- `Nate Lust (@natelust) <https://github.com/natelust>`__
|
||||
- `ueno (@nayuta-ueno) <https://github.com/nayuta-ueno>`__
|
||||
- `Nazar Mokrynskyi (@nazar-pc) <https://github.com/nazar-pc>`__
|
||||
@ -699,6 +698,7 @@ Contributors
|
||||
- `Qc (@qc24) <https://github.com/qc24>`__
|
||||
- `Karol Zlot (@qqgg231) <https://github.com/qqgg231>`__
|
||||
- `Tommy Jonsson (@quazzie) <https://github.com/quazzie>`__
|
||||
- `Quentin Smith (@quentinmit) <https://github.com/quentinmit>`__
|
||||
- `Quinn Hosler (@quinnhosler) <https://github.com/quinnhosler>`__
|
||||
- `Johannes Rebling (@r0oland) <https://github.com/r0oland>`__
|
||||
- `Richard Kuhnt (@r15ch13) <https://github.com/r15ch13>`__
|
||||
@ -898,4 +898,4 @@ Contributors
|
||||
- `Zack Barett (@zsarnett) <https://github.com/zsarnett>`__
|
||||
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
|
||||
|
||||
*This page was last updated October 7, 2022.*
|
||||
*This page was last updated October 19, 2022.*
|
||||
|
Loading…
Reference in New Issue
Block a user