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
c30920a713
4
Doxygen
4
Doxygen
@ -38,11 +38,15 @@ PROJECT_NAME = "ESPHome"
|
|||||||
# could be handy for archiving the generated documentation or if some version
|
# could be handy for archiving the generated documentation or if some version
|
||||||
# control system is used.
|
# control system is used.
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
PROJECT_NUMBER = 1.21.0-dev
|
PROJECT_NUMBER = 1.21.0-dev
|
||||||
=======
|
=======
|
||||||
PROJECT_NUMBER = 1.20.0
|
PROJECT_NUMBER = 1.20.0
|
||||||
>>>>>>> current
|
>>>>>>> current
|
||||||
|
=======
|
||||||
|
PROJECT_NUMBER = 1.20.1
|
||||||
|
>>>>>>> current
|
||||||
|
|
||||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
# 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
|
# for a project that appears at the top of each page and should give viewer a
|
||||||
|
2
Makefile
2
Makefile
@ -1,5 +1,5 @@
|
|||||||
ESPHOME_PATH = ../esphome
|
ESPHOME_PATH = ../esphome
|
||||||
ESPHOME_REF = v1.20.0
|
ESPHOME_REF = v1.20.1
|
||||||
|
|
||||||
.PHONY: html html-strict cleanhtml deploy help webserver Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png
|
.PHONY: html html-strict cleanhtml deploy help webserver Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png
|
||||||
|
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
|
<<<<<<< HEAD
|
||||||
1.21.0-dev
|
1.21.0-dev
|
||||||
=======
|
=======
|
||||||
1.20.0
|
1.20.0
|
||||||
>>>>>>> current
|
>>>>>>> current
|
||||||
|
=======
|
||||||
|
1.20.1
|
||||||
|
>>>>>>> current
|
||||||
|
@ -69,6 +69,15 @@ for you to read yourself. :doc:`/components/display/nextion`
|
|||||||
- Display on_wake/on_sleep
|
- Display on_wake/on_sleep
|
||||||
- Many API helpers (get_string/get_int) have been added
|
- Many API helpers (get_string/get_int) have been added
|
||||||
|
|
||||||
|
Release 1.20.1 - July 27
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
- Fix git pull for external_components :esphomepr:`2055` by :ghuser:`mmakaay`
|
||||||
|
- midea_ac: fix presets implementation :esphomepr:`2054` by :ghuser:`dudanov`
|
||||||
|
- Fixes new auto mode COOL and HEAT after :esphomepr:`1994` :esphomepr:`2053` by :ghuser:`carstenschroeder`
|
||||||
|
- Log warning about lack of support for Anova nano :esphomepr:`2063` by :ghuser:`buxtronix`
|
||||||
|
- Couple more updates for the Tuya component :esphomepr:`2065` by :ghuser:`nuttytree`
|
||||||
|
- Fix MQTT climate custom fan modes without regular ones :esphomepr:`2071` by :ghuser:`OttoWinter`
|
||||||
|
|
||||||
Full list of changes
|
Full list of changes
|
||||||
--------------------
|
--------------------
|
||||||
|
@ -17,7 +17,7 @@ the eight touch pads of the ESP32 as :ref:`binary sensors <esp32-touch-binary-se
|
|||||||
|
|
||||||
# Example configuration entry
|
# Example configuration entry
|
||||||
esp32_touch:
|
esp32_touch:
|
||||||
setup_mode: False
|
setup_mode: false
|
||||||
|
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
- platform: esp32_touch
|
- platform: esp32_touch
|
||||||
@ -131,7 +131,7 @@ to make the validator happy, we are going to find good thresholds in a moment an
|
|||||||
|
|
||||||
# Example configuration entry for finding threshold values
|
# Example configuration entry for finding threshold values
|
||||||
esp32_touch:
|
esp32_touch:
|
||||||
setup_mode: True
|
setup_mode: true
|
||||||
|
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
- platform: esp32_touch
|
- platform: esp32_touch
|
||||||
@ -148,7 +148,7 @@ touch/non-touch events.
|
|||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Finally, put your threshold parameter in the configuration. Do not forget to disable the ``setup_mode``
|
Finally, put your threshold parameter in the configuration. Do not forget to disable the ``setup_mode``
|
||||||
option again by setting it to ``False``. Otherwise you will end up spamming the logs and slowing the device
|
option again by setting it to ``false``. Otherwise you will end up spamming the logs and slowing the device
|
||||||
down.
|
down.
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
|
@ -60,7 +60,7 @@ sensor:
|
|||||||
- platform: gpio
|
- platform: gpio
|
||||||
pin:
|
pin:
|
||||||
number: D2
|
number: D2
|
||||||
inverted: True
|
inverted: true
|
||||||
name: ...
|
name: ...
|
||||||
|
|
||||||
Debouncing Values
|
Debouncing Values
|
||||||
|
@ -7,7 +7,7 @@ Nextion Binary Sensor Component
|
|||||||
:description: Instructions for setting up Nextion binary sensor.
|
:description: Instructions for setting up Nextion binary sensor.
|
||||||
:image: nextion.jpg
|
:image: nextion.jpg
|
||||||
|
|
||||||
The ``nextion`` binary sensor platform supports the many switched components in the Nextion as well as integer variables (>0 == True). It can be a component or variable in the Nextion display.
|
The ``nextion`` binary sensor platform supports the many switched components in the Nextion as well as integer variables (>0 == true). It can be a component or variable in the Nextion display.
|
||||||
It is best to set the components vscope to global in the Nextion Editor. This way the component will be available if the page is shown or not.
|
It is best to set the components vscope to global in the Nextion Editor. This way the component will be available if the page is shown or not.
|
||||||
|
|
||||||
See :doc:`/components/display/nextion` for setting up the display
|
See :doc:`/components/display/nextion` for setting up the display
|
||||||
|
@ -41,7 +41,7 @@ The :ref:`SPI <spi>` is required to be set up in your configuration for this sen
|
|||||||
calibration_x_max: 280
|
calibration_x_max: 280
|
||||||
calibration_y_min: 340
|
calibration_y_min: 340
|
||||||
calibration_y_max: 3860
|
calibration_y_max: 3860
|
||||||
swap_x_y: False
|
swap_x_y: false
|
||||||
|
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
- platform: xpt2046
|
- platform: xpt2046
|
||||||
@ -220,7 +220,7 @@ That means that the minimum raw x is 281, maximum 3848, minimum y 347 and maximu
|
|||||||
Identify which raw value is the display's x direction and what the y one. In our case
|
Identify which raw value is the display's x direction and what the y one. In our case
|
||||||
moving right decreases the x raw value and going down increases the y one so the axes
|
moving right decreases the x raw value and going down increases the y one so the axes
|
||||||
match and we *don't* need to use ``swap_x_y``. If the raw x is the display's y,
|
match and we *don't* need to use ``swap_x_y``. If the raw x is the display's y,
|
||||||
use ``swap_x_y = True``.
|
use ``swap_x_y = true``.
|
||||||
|
|
||||||
If one of the coordinates goes in the "wrong" direction it needs to be inverted.
|
If one of the coordinates goes in the "wrong" direction it needs to be inverted.
|
||||||
The inversion is performed by swapping the minimum and maximum values. In our
|
The inversion is performed by swapping the minimum and maximum values. In our
|
||||||
|
@ -46,7 +46,7 @@ Each canbus platform extends this configuration schema.
|
|||||||
can_id: 4
|
can_id: 4
|
||||||
on_frame:
|
on_frame:
|
||||||
- can_id: 500
|
- can_id: 500
|
||||||
use_extended_id: False
|
use_extended_id: false
|
||||||
then:
|
then:
|
||||||
- lambda: |-
|
- lambda: |-
|
||||||
std::string b(x.begin(), x.end());
|
std::string b(x.begin(), x.end());
|
||||||
@ -56,8 +56,8 @@ Configuration variables:
|
|||||||
|
|
||||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||||
- **can_id** (**Required**, integer): default *can id* used for transmitting frames.
|
- **can_id** (**Required**, integer): default *can id* used for transmitting frames.
|
||||||
- **use_extended_id** (*Optional*, boolean): default *False* identifies the type of *can_id*:
|
- **use_extended_id** (*Optional*, boolean): default *false* identifies the type of *can_id*:
|
||||||
*False*: Standard 11 bits IDs, *True*: Extended 29 bits ID
|
*false*: Standard 11 bits IDs, *true*: Extended 29 bits ID
|
||||||
- **bit_rate** (*Optional*, enum): One of the supported bitrates. Defaults to ``125KBPS``.
|
- **bit_rate** (*Optional*, enum): One of the supported bitrates. Defaults to ``125KBPS``.
|
||||||
|
|
||||||
- 5KBPS
|
- 5KBPS
|
||||||
@ -138,8 +138,8 @@ Configuration variables:
|
|||||||
the frame. Not needed if you are using only 1 can bus.
|
the frame. Not needed if you are using only 1 can bus.
|
||||||
- **can_id** (*Optional*, int): Allows to override the can id configured in
|
- **can_id** (*Optional*, int): Allows to override the can id configured in
|
||||||
the can bus device.
|
the can bus device.
|
||||||
- **use_extended_id** (*Optional*, boolean): default *False* identifies the type of *can_id*:
|
- **use_extended_id** (*Optional*, boolean): default *false* identifies the type of *can_id*:
|
||||||
*False*: Standard 11 Bit IDs, *True*: Extended 29Bit ID
|
*false*: Standard 11 Bit IDs, *true*: Extended 29Bit ID
|
||||||
|
|
||||||
MCP2515 Component
|
MCP2515 Component
|
||||||
-----------------
|
-----------------
|
||||||
@ -221,7 +221,7 @@ Standard IDs and Extended IDs can coexist on the same segment.
|
|||||||
then:
|
then:
|
||||||
- canbus.send:
|
- canbus.send:
|
||||||
# Extended ID explicit
|
# Extended ID explicit
|
||||||
use_extended_id: True
|
use_extended_id: true
|
||||||
can_id: 0x100
|
can_id: 0x100
|
||||||
data: [0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08]
|
data: [0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08]
|
||||||
- canbus.send:
|
- canbus.send:
|
||||||
@ -235,11 +235,11 @@ Standard IDs and Extended IDs can coexist on the same segment.
|
|||||||
spi_id: McpSpi
|
spi_id: McpSpi
|
||||||
cs_pin: GPIO14
|
cs_pin: GPIO14
|
||||||
can_id: 0x1fff
|
can_id: 0x1fff
|
||||||
use_extended_id: True
|
use_extended_id: true
|
||||||
bit_rate: 125kbps
|
bit_rate: 125kbps
|
||||||
on_frame:
|
on_frame:
|
||||||
- can_id: 0x123
|
- can_id: 0x123
|
||||||
use_extended_id: True
|
use_extended_id: true
|
||||||
then:
|
then:
|
||||||
- lambda: |-
|
- lambda: |-
|
||||||
std::string b(x.begin(), x.end());
|
std::string b(x.begin(), x.end());
|
||||||
|
@ -68,8 +68,8 @@ Configuration variables:
|
|||||||
- **name** (**Required**, string): The name for the climate device.
|
- **name** (**Required**, string): The name for the climate device.
|
||||||
- **sensor** (*Optional*, :ref:`config-id`): The sensor that is used to measure the ambient
|
- **sensor** (*Optional*, :ref:`config-id`): The sensor that is used to measure the ambient
|
||||||
temperature. This is only for reporting the current temperature in the frontend.
|
temperature. This is only for reporting the current temperature in the frontend.
|
||||||
- **supports_cool** (*Optional*, boolean): Enables setting cooling mode for this climate device. Defaults to ``True``.
|
- **supports_cool** (*Optional*, boolean): Enables setting cooling mode for this climate device. Defaults to ``true``.
|
||||||
- **supports_heat** (*Optional*, boolean): Enables setting heating mode for this climate device. Defaults to ``True``.
|
- **supports_heat** (*Optional*, boolean): Enables setting heating mode for this climate device. Defaults to ``true``.
|
||||||
- **receiver_id** (*Optional*, :ref:`config-id`): The id of the remote_receiver if this platform supports
|
- **receiver_id** (*Optional*, :ref:`config-id`): The id of the remote_receiver if this platform supports
|
||||||
receiver. see: :ref:`ir-receiver_id`.
|
receiver. see: :ref:`ir-receiver_id`.
|
||||||
- All other options from :ref:`Climate <config-climate>`.
|
- All other options from :ref:`Climate <config-climate>`.
|
||||||
@ -102,7 +102,7 @@ IR receiver.
|
|||||||
id: rcvr
|
id: rcvr
|
||||||
pin:
|
pin:
|
||||||
number: GPIO14
|
number: GPIO14
|
||||||
inverted: True
|
inverted: true
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
# high 55% tolerance is recommended for some remote control units
|
# high 55% tolerance is recommended for some remote control units
|
||||||
tolerance: 55%
|
tolerance: 55%
|
||||||
|
@ -91,14 +91,14 @@ Configuration variables:
|
|||||||
- **name** (**Required**, string): The name of the sensor.
|
- **name** (**Required**, string): The name of the sensor.
|
||||||
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||||
- All other options from :ref:`Sensor <config-sensor>`.
|
- All other options from :ref:`Sensor <config-sensor>`.
|
||||||
- **beeper** (*Optional*, boolean): Beeper feedback on command. Defaults to ``False``.
|
- **beeper** (*Optional*, boolean): Beeper feedback on command. Defaults to ``false``.
|
||||||
- **custom_fan_modes** (*Optional*, list): List of supported custom fan modes. Possible values are: SILENT, TURBO.
|
- **custom_fan_modes** (*Optional*, list): List of supported custom fan modes. Possible values are: SILENT, TURBO.
|
||||||
- **preset_eco** (*Optional*, boolean): ECO preset support. Defaults to ``False``.
|
- **preset_eco** (*Optional*, boolean): ECO preset support. Defaults to ``false``.
|
||||||
- **preset_sleep** (*Optional*, boolean): SLEEP preset support. Defaults to ``False``.
|
- **preset_sleep** (*Optional*, boolean): SLEEP preset support. Defaults to ``false``.
|
||||||
- **preset_boost** (*Optional*, boolean): BOOST preset support. Defaults to ``False``.
|
- **preset_boost** (*Optional*, boolean): BOOST preset support. Defaults to ``false``.
|
||||||
- **custom_presets** (*Optional*, list): List of supported custom presets. Possible values are: FREEZE_PROTECTION.
|
- **custom_presets** (*Optional*, list): List of supported custom presets. Possible values are: FREEZE_PROTECTION.
|
||||||
- **swing_horizontal** (*Optional*, boolean): Enable **swing horizontal** option. Defaults to ``False``.
|
- **swing_horizontal** (*Optional*, boolean): Enable **swing horizontal** option. Defaults to ``false``.
|
||||||
- **swing_both** (*Optional*, boolean): Enable **swing both** option. Defaults to ``False``.
|
- **swing_both** (*Optional*, boolean): Enable **swing both** option. Defaults to ``false``.
|
||||||
- All other options from :ref:`Climate <config-climate>`.
|
- All other options from :ref:`Climate <config-climate>`.
|
||||||
|
|
||||||
Configuration variables of midea-dongle component:
|
Configuration variables of midea-dongle component:
|
||||||
@ -108,7 +108,7 @@ Configuration variables of midea-dongle component:
|
|||||||
- **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :doc:`../uart` if you want
|
- **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :doc:`../uart` if you want
|
||||||
to use multiple UART buses.
|
to use multiple UART buses.
|
||||||
- **strength_icon** (*Optional*, boolean): Set if your device have signal strength icon
|
- **strength_icon** (*Optional*, boolean): Set if your device have signal strength icon
|
||||||
and you want to use this feature. By default, on connected state, icon show maximum signal quality. Defaults to ``False``.
|
and you want to use this feature. By default, on connected state, icon show maximum signal quality. Defaults to ``false``.
|
||||||
|
|
||||||
|
|
||||||
Acknowledgments:
|
Acknowledgments:
|
||||||
|
@ -45,8 +45,8 @@ Configuration variables:
|
|||||||
|
|
||||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||||
- **name** (**Required**, string): The name of the climate device.
|
- **name** (**Required**, string): The name of the climate device.
|
||||||
- **supports_heat** (*Optional*, boolean): Specifies if the device has a heating mode. Defaults to ``True``.
|
- **supports_heat** (*Optional*, boolean): Specifies if the device has a heating mode. Defaults to ``true``.
|
||||||
- **supports_cool** (*Optional*, boolean): Specifies if the device has a cooling mode. Defaults to ``False``.
|
- **supports_cool** (*Optional*, boolean): Specifies if the device has a cooling mode. Defaults to ``false``.
|
||||||
- **switch_datapoint** (**Required**, int): The datapoint id number of the climate switch.
|
- **switch_datapoint** (**Required**, int): The datapoint id number of the climate switch.
|
||||||
- **active_state_datapoint** (*Optional*, int): The datapoint id number of the active state.
|
- **active_state_datapoint** (*Optional*, int): The datapoint id number of the active state.
|
||||||
- **active_state_heating_value** (*Optional*, int): The active state datapoint value the device reports when heating. Defaults to ``1``.
|
- **active_state_heating_value** (*Optional*, int): The active state datapoint value the device reports when heating. Defaults to ``1``.
|
||||||
|
@ -51,10 +51,10 @@ Configuration variables:
|
|||||||
- **has_built_in_endstop** (*Optional*, boolean): Indicates that the cover has built in end stop
|
- **has_built_in_endstop** (*Optional*, boolean): Indicates that the cover has built in end stop
|
||||||
detectors. In this configuration the ``stop_action`` is not performed when the open or close
|
detectors. In this configuration the ``stop_action`` is not performed when the open or close
|
||||||
time is completed and if the cover is commanded to open or close the corresponding actions
|
time is completed and if the cover is commanded to open or close the corresponding actions
|
||||||
will be performed without checking current state. Defaults to ``False``.
|
will be performed without checking current state. Defaults to ``false``.
|
||||||
- **assumed_state** (*Optional*, boolean): Whether the true state of the cover is not known.
|
- **assumed_state** (*Optional*, boolean): Whether the true state of the cover is not known.
|
||||||
This will make the Home Assistant frontend show buttons for both OPEN and CLOSE actions, instead
|
This will make the Home Assistant frontend show buttons for both OPEN and CLOSE actions, instead
|
||||||
of hiding or disabling one of them. Defaults to ``True``.
|
of hiding or disabling one of them. Defaults to ``true``.
|
||||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||||
- All other options from :ref:`Cover <config-cover>`.
|
- All other options from :ref:`Cover <config-cover>`.
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ Configuration options:
|
|||||||
- **file** (*Optional*, int, :ref:`templatable <config-templatable>`): The global track
|
- **file** (*Optional*, int, :ref:`templatable <config-templatable>`): The global track
|
||||||
number (from all tracks in the device). If not specified plays the first track.
|
number (from all tracks in the device). If not specified plays the first track.
|
||||||
- **loop** (*Optional*, bool, :ref:`templatable <config-templatable>`): Repeats playing
|
- **loop** (*Optional*, bool, :ref:`templatable <config-templatable>`): Repeats playing
|
||||||
the same track. Defaults to ``False``.
|
the same track. Defaults to ``false``.
|
||||||
|
|
||||||
``dfplayer.play_folder`` Action
|
``dfplayer.play_folder`` Action
|
||||||
-------------------------------
|
-------------------------------
|
||||||
@ -147,7 +147,7 @@ Configuration options:
|
|||||||
- **file** (*Optional*, int, :ref:`templatable <config-templatable>`): The file number
|
- **file** (*Optional*, int, :ref:`templatable <config-templatable>`): The file number
|
||||||
inside the folder to play. Optional only if ``loop`` is not set.
|
inside the folder to play. Optional only if ``loop`` is not set.
|
||||||
- **loop** (*Optional*, bool, :ref:`templatable <config-templatable>`): Repeats playing
|
- **loop** (*Optional*, bool, :ref:`templatable <config-templatable>`): Repeats playing
|
||||||
all files in the folder. Causes ``file`` to be ignored. Defaults to ``False``.
|
all files in the folder. Causes ``file`` to be ignored. Defaults to ``false``.
|
||||||
|
|
||||||
|
|
||||||
``dfplayer.set_device`` Action
|
``dfplayer.set_device`` Action
|
||||||
@ -369,7 +369,7 @@ Sample code
|
|||||||
then:
|
then:
|
||||||
- dfplayer.play_folder:
|
- dfplayer.play_folder:
|
||||||
folder: !lambda 'return folder;'
|
folder: !lambda 'return folder;'
|
||||||
loop: True
|
loop: true
|
||||||
|
|
||||||
- service: dfplayer_set_device_tf
|
- service: dfplayer_set_device_tf
|
||||||
then:
|
then:
|
||||||
|
@ -70,8 +70,8 @@ Configuration variables:
|
|||||||
************************
|
************************
|
||||||
|
|
||||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||||
- **greyscale** (*Optional*, boolean): Makes the screen display 3 bit colors. Defaults to ``False``
|
- **greyscale** (*Optional*, boolean): Makes the screen display 3 bit colors. Defaults to ``false``
|
||||||
- **partial_updating** (*Optional*, boolean): Makes the screen update partially, which is faster, but leaves burnin. Defaults to ``False``
|
- **partial_updating** (*Optional*, boolean): Makes the screen update partially, which is faster, but leaves burnin. Defaults to ``false``
|
||||||
- **full_update_every** (*Optional*, int): When partial updating is enabled, forces a full screen update after chosen number of updates. Defaults to ``10``
|
- **full_update_every** (*Optional*, int): When partial updating is enabled, forces a full screen update after chosen number of updates. Defaults to ``10``
|
||||||
- **lambda** (*Optional*, :ref:`lambda <config-lambda>`): The lambda to use for rendering the content on the display.
|
- **lambda** (*Optional*, :ref:`lambda <config-lambda>`): The lambda to use for rendering the content on the display.
|
||||||
See :ref:`display-engine` for more information.
|
See :ref:`display-engine` for more information.
|
||||||
|
@ -53,7 +53,7 @@ Configuration variables:
|
|||||||
- **spi_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`SPI Component <spi>` if you want
|
- **spi_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`SPI Component <spi>` if you want
|
||||||
to use multiple SPI buses.
|
to use multiple SPI buses.
|
||||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||||
- **reverse_enable** (*Optional*, boolean): For some displays the order of the chips is reversed so you'll see "56781234" instead of "12345678". This option will adjust the output to compensate. Defaults to ``False``.
|
- **reverse_enable** (*Optional*, boolean): For some displays the order of the chips is reversed so you'll see "56781234" instead of "12345678". This option will adjust the output to compensate. Defaults to ``false``.
|
||||||
|
|
||||||
|
|
||||||
.. _display-max7219_lambda:
|
.. _display-max7219_lambda:
|
||||||
|
@ -46,7 +46,7 @@ Configuration variables:
|
|||||||
``4``.
|
``4``.
|
||||||
- **rotate_chip** (*Optional*): Rotates every 8x8 chip. Valid values are ``0``, ``90``, ``180`` and ``270``.
|
- **rotate_chip** (*Optional*): Rotates every 8x8 chip. Valid values are ``0``, ``90``, ``180`` and ``270``.
|
||||||
Defaults to ``0``.
|
Defaults to ``0``.
|
||||||
- **scroll_enable** (*Optional*, boolean): Turn scroll mode on when content does not fit. Defaults to ``True``.
|
- **scroll_enable** (*Optional*, boolean): Turn scroll mode on when content does not fit. Defaults to ``true``.
|
||||||
- **scroll_mode** (*Optional*): Set the scroll mode. One of ``CONTINUOUS`` or ``STOP``. Defaults to ``CONTINUOUS``
|
- **scroll_mode** (*Optional*): Set the scroll mode. One of ``CONTINUOUS`` or ``STOP``. Defaults to ``CONTINUOUS``
|
||||||
|
|
||||||
- ``CONTINUOUS``: Always scrolls and the text repeats continuously, you might need to add some
|
- ``CONTINUOUS``: Always scrolls and the text repeats continuously, you might need to add some
|
||||||
@ -57,7 +57,7 @@ Configuration variables:
|
|||||||
- **scroll_delay** (*Optional*, :ref:`config-time`): Set delay time before scroll starts. Defaults to ``1s``.
|
- **scroll_delay** (*Optional*, :ref:`config-time`): Set delay time before scroll starts. Defaults to ``1s``.
|
||||||
- **scroll_dwell** (*Optional*, :ref:`config-time`): Sets the wait time at the end of the scroll before starting
|
- **scroll_dwell** (*Optional*, :ref:`config-time`): Sets the wait time at the end of the scroll before starting
|
||||||
over. This is only used in mode ``STOP``. Defaults to ``1s``.
|
over. This is only used in mode ``STOP``. Defaults to ``1s``.
|
||||||
- **reverse_enable** (*Optional*, boolean): For some displays the order of the displays is reversed ("DCBA"). This option will reverse the display to ("ABCD") again. Defaults to ``False``.
|
- **reverse_enable** (*Optional*, boolean): For some displays the order of the displays is reversed ("DCBA"). This option will reverse the display to ("ABCD") again. Defaults to ``false``.
|
||||||
- **intensity** (*Optional*, integer): The intensity with which the MAX7219 should drive the outputs. Range is
|
- **intensity** (*Optional*, integer): The intensity with which the MAX7219 should drive the outputs. Range is
|
||||||
from ``0``, least intense to ``15`` the brightest. Defaults to ``15``.
|
from ``0``, least intense to ``15`` the brightest. Defaults to ``15``.
|
||||||
- **lambda** (*Optional*, :ref:`lambda <config-lambda>`): The lambda to use for rendering the content on the
|
- **lambda** (*Optional*, :ref:`lambda <config-lambda>`): The lambda to use for rendering the content on the
|
||||||
|
@ -51,15 +51,15 @@ Configuration variables:
|
|||||||
- **device_height** (**Required**, int): The device height. 160 is default
|
- **device_height** (**Required**, int): The device height. 160 is default
|
||||||
- **col_start** (**Required**, int): The device height. 160 is default
|
- **col_start** (**Required**, int): The device height. 160 is default
|
||||||
- **row_start** (**Required**, int): The device height. 160 is default
|
- **row_start** (**Required**, int): The device height. 160 is default
|
||||||
- **eight_bit_color** (*Optional*, "True/False" ): 8bit mode. Default is False. This saves 50% of the buffer required for the display.
|
- **eight_bit_color** (*Optional*, "true/false" ): 8bit mode. Default is false. This saves 50% of the buffer required for the display.
|
||||||
- **reset_pin** (*Optional*, :ref:`Pin Schema <config-pin_schema>`): The RESET pin.
|
- **reset_pin** (*Optional*, :ref:`Pin Schema <config-pin_schema>`): The RESET pin.
|
||||||
|
|
||||||
Memory notes:
|
Memory notes:
|
||||||
*************
|
*************
|
||||||
|
|
||||||
- 8Bit color saves 50% of the buffer required.
|
- 8Bit color saves 50% of the buffer required.
|
||||||
- eightbitcolor: True 160x128 = 20480 *Important for memory constrained devices*
|
- ``eight_bit_color: true`` 160x128 = 20480 *Important for memory constrained devices*
|
||||||
- eightbitcolor: False 160x128x2 = 40960
|
- ``eight_bit_color: false`` 160x128x2 = 40960
|
||||||
|
|
||||||
|
|
||||||
Models:
|
Models:
|
||||||
|
@ -52,7 +52,7 @@ Advanced options:
|
|||||||
to include in the project. See `platformio lib install <https://docs.platformio.org/en/latest/userguide/lib/cmd_install.html>`__.
|
to include in the project. See `platformio lib install <https://docs.platformio.org/en/latest/userguide/lib/cmd_install.html>`__.
|
||||||
- **comment** (*Optional*, string): Additional text information about this node. Only for display in UI.
|
- **comment** (*Optional*, string): Additional text information about this node. Only for display in UI.
|
||||||
- **name_add_mac_suffix** (*Optional*, boolean): Appends the last 6 bytes of the mac address of the device to
|
- **name_add_mac_suffix** (*Optional*, boolean): Appends the last 6 bytes of the mac address of the device to
|
||||||
the name in the form ``<name>-aabbcc``. Defaults to ``False``.
|
the name in the form ``<name>-aabbcc``. Defaults to ``false``.
|
||||||
See :ref:`esphome-mac_suffix`.
|
See :ref:`esphome-mac_suffix`.
|
||||||
|
|
||||||
- **project** (*Optional*): ESPHome Creator's Project information. See :ref:`esphome-creators_project`.
|
- **project** (*Optional*): ESPHome Creator's Project information. See :ref:`esphome-creators_project`.
|
||||||
|
@ -22,7 +22,7 @@ connecting the wires from each device back to the two I²C pins on the ESP.
|
|||||||
i2c:
|
i2c:
|
||||||
sda: 21
|
sda: 21
|
||||||
scl: 22
|
scl: 22
|
||||||
scan: True
|
scan: true
|
||||||
id: bus_a
|
id: bus_a
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
@ -34,7 +34,7 @@ Configuration variables:
|
|||||||
Defaults to the default of your board (usually GPIO22 for ESP32 and
|
Defaults to the default of your board (usually GPIO22 for ESP32 and
|
||||||
GPIO5 for ESP8266).
|
GPIO5 for ESP8266).
|
||||||
- **scan** (*Optional*, boolean): If ESPHome should do a search of the I²C address space on startup.
|
- **scan** (*Optional*, boolean): If ESPHome should do a search of the I²C address space on startup.
|
||||||
Defaults to ``True``.
|
Defaults to ``true``.
|
||||||
- **frequency** (*Optional*, float): Set the frequency the I²C bus should operate on.
|
- **frequency** (*Optional*, float): Set the frequency the I²C bus should operate on.
|
||||||
Defaults to ``50kHz``. Values are ``50kHz``, ``100kHz``, ``200kHz``, ... ``800kHz``
|
Defaults to ``50kHz``. Values are ``50kHz``, ``100kHz``, ``200kHz``, ... ``800kHz``
|
||||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID for this I²C bus if you need multiple I²C buses.
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID for this I²C bus if you need multiple I²C buses.
|
||||||
@ -50,11 +50,11 @@ Configuration variables:
|
|||||||
- id: bus_a
|
- id: bus_a
|
||||||
sda: 13
|
sda: 13
|
||||||
scl: 16
|
scl: 16
|
||||||
scan: True
|
scan: true
|
||||||
- id: bus_b
|
- id: bus_b
|
||||||
sda: 14
|
sda: 14
|
||||||
scl: 15
|
scl: 15
|
||||||
scan: True
|
scan: true
|
||||||
# Sensors should be specified as follows
|
# Sensors should be specified as follows
|
||||||
- platform: bme680
|
- platform: bme680
|
||||||
i2c_id: bus_b
|
i2c_id: bus_b
|
||||||
|
@ -459,15 +459,15 @@ This effect cycles through a list of colors with specific durations.
|
|||||||
- strobe:
|
- strobe:
|
||||||
name: Strobe Effect With Custom Values
|
name: Strobe Effect With Custom Values
|
||||||
colors:
|
colors:
|
||||||
- state: True
|
- state: true
|
||||||
brightness: 100%
|
brightness: 100%
|
||||||
red: 100%
|
red: 100%
|
||||||
green: 90%
|
green: 90%
|
||||||
blue: 0%
|
blue: 0%
|
||||||
duration: 500ms
|
duration: 500ms
|
||||||
- state: False
|
- state: false
|
||||||
duration: 250ms
|
duration: 250ms
|
||||||
- state: True
|
- state: true
|
||||||
brightness: 100%
|
brightness: 100%
|
||||||
red: 0%
|
red: 0%
|
||||||
green: 100%
|
green: 100%
|
||||||
@ -479,7 +479,7 @@ Configuration variables:
|
|||||||
- **name** (*Optional*, string): The name of the effect. Defaults to ``Strobe``.
|
- **name** (*Optional*, string): The name of the effect. Defaults to ``Strobe``.
|
||||||
- **colors** (*Optional*, list): A list of colors to cycle through. Defaults to a quick cycle between ON and OFF.
|
- **colors** (*Optional*, list): A list of colors to cycle through. Defaults to a quick cycle between ON and OFF.
|
||||||
|
|
||||||
- **state** (*Optional*, boolean): The ON/OFF state to show. Defaults to ``True``.
|
- **state** (*Optional*, boolean): The ON/OFF state to show. Defaults to ``true``.
|
||||||
- **brightness** (*Optional*, percentage): The brightness of the light. Defaults to ``100%``.
|
- **brightness** (*Optional*, percentage): The brightness of the light. Defaults to ``100%``.
|
||||||
- **red** (*Optional*, percentage): The percentage that the red color should be on for RGB lights. Defaults to ``100%``.
|
- **red** (*Optional*, percentage): The percentage that the red color should be on for RGB lights. Defaults to ``100%``.
|
||||||
- **green** (*Optional*, percentage): The percentage that the green color should be on for RGB lights. Defaults to ``100%``.
|
- **green** (*Optional*, percentage): The percentage that the green color should be on for RGB lights. Defaults to ``100%``.
|
||||||
@ -603,7 +603,7 @@ the strip and shifts them forward every ``add_led_interval``.
|
|||||||
blue: 0%
|
blue: 0%
|
||||||
num_leds: 1
|
num_leds: 1
|
||||||
add_led_interval: 100ms
|
add_led_interval: 100ms
|
||||||
reverse: False
|
reverse: false
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
|
|
||||||
@ -614,13 +614,13 @@ Configuration variables:
|
|||||||
- **red** (*Optional*, percentage): The percentage the red color channel should be on. Defaults to ``100%``.
|
- **red** (*Optional*, percentage): The percentage the red color channel should be on. Defaults to ``100%``.
|
||||||
- **green** (*Optional*, percentage): The percentage the green color channel should be on. Defaults to ``100%``.
|
- **green** (*Optional*, percentage): The percentage the green color channel should be on. Defaults to ``100%``.
|
||||||
- **blue** (*Optional*, percentage): The percentage the blue color channel should be on. Defaults to ``100%``.
|
- **blue** (*Optional*, percentage): The percentage the blue color channel should be on. Defaults to ``100%``.
|
||||||
- **random** (*Optional*, boolean): If set to ``True``, will overwrite the RGB colors by a new, randomly-chosen
|
- **random** (*Optional*, boolean): If set to ``true``, will overwrite the RGB colors by a new, randomly-chosen
|
||||||
color each time. Defaults to ``False``.
|
color each time. Defaults to ``false``.
|
||||||
- **num_leds** (*Optional*, int): The number of leds of this type to have before moving on to the next color.
|
- **num_leds** (*Optional*, int): The number of leds of this type to have before moving on to the next color.
|
||||||
|
|
||||||
- **add_led_interval** (*Optional*, :ref:`config-time`): The interval with which to shift in new leds at the
|
- **add_led_interval** (*Optional*, :ref:`config-time`): The interval with which to shift in new leds at the
|
||||||
beginning of the strip. Defaults to ``100ms``.
|
beginning of the strip. Defaults to ``100ms``.
|
||||||
- **reverse** (*Optional*, boolean): Whether to reverse the direction of the color wipe. Defaults to ``False``.
|
- **reverse** (*Optional*, boolean): Whether to reverse the direction of the color wipe. Defaults to ``false``.
|
||||||
|
|
||||||
Addressable Scan Effect
|
Addressable Scan Effect
|
||||||
***********************
|
***********************
|
||||||
|
@ -67,7 +67,7 @@ the RGB channels to maximum whilst wanting a white light will have an undesired
|
|||||||
configuration variable is available that prevents the RGB leds and white leds from being turned on at the same
|
configuration variable is available that prevents the RGB leds and white leds from being turned on at the same
|
||||||
time: ``color_interlock``.
|
time: ``color_interlock``.
|
||||||
|
|
||||||
Setting this variable to ``True`` will automatically turn off the RGB leds when the white value is non-zero, or
|
Setting this variable to ``true`` will automatically turn off the RGB leds when the white value is non-zero, or
|
||||||
when the color is set to white (equal values for red, green and blue). When a different color is set, or the
|
when the color is set to white (equal values for red, green and blue). When a different color is set, or the
|
||||||
color brightness is raised above 0%, the white leds are automatically turned off.
|
color brightness is raised above 0%, the white leds are automatically turned off.
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ The MCP23008 component (`datasheet <http://ww1.microchip.com/downloads/en/device
|
|||||||
# Use pin number 0
|
# Use pin number 0
|
||||||
number: 0
|
number: 0
|
||||||
mode: OUTPUT
|
mode: OUTPUT
|
||||||
inverted: False
|
inverted: false
|
||||||
|
|
||||||
# Individual inputs
|
# Individual inputs
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
@ -49,7 +49,7 @@ The MCP23008 component (`datasheet <http://ww1.microchip.com/downloads/en/device
|
|||||||
number: 1
|
number: 1
|
||||||
# One of INPUT or INPUT_PULLUP
|
# One of INPUT or INPUT_PULLUP
|
||||||
mode: INPUT
|
mode: INPUT
|
||||||
inverted: False
|
inverted: false
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
************************
|
************************
|
||||||
@ -68,7 +68,7 @@ Pin configuration variables:
|
|||||||
- **interrupt** (*Optional*): Set this pin to trigger the INT pin on the component. Can be one of ``CHANGE``, ``RISING``, ``FALLING``.
|
- **interrupt** (*Optional*): Set this pin to trigger the INT pin on the component. Can be one of ``CHANGE``, ``RISING``, ``FALLING``.
|
||||||
- **number** (**Required**, integer): The pin number.
|
- **number** (**Required**, integer): The pin number.
|
||||||
- **inverted** (*Optional*, boolean): If all read and written values
|
- **inverted** (*Optional*, boolean): If all read and written values
|
||||||
should be treated as inverted. Defaults to ``False``.
|
should be treated as inverted. Defaults to ``false``.
|
||||||
- **mode** (*Optional*, string): A pin mode to set for the pin at. One of ``INPUT`` or ``OUTPUT``.
|
- **mode** (*Optional*, string): A pin mode to set for the pin at. One of ``INPUT`` or ``OUTPUT``.
|
||||||
|
|
||||||
.. _mcp23016-label:
|
.. _mcp23016-label:
|
||||||
@ -99,7 +99,7 @@ has 16 GPIOs and can be configured the same way than the other variants.
|
|||||||
# Use pin number 0
|
# Use pin number 0
|
||||||
number: 0
|
number: 0
|
||||||
mode: OUTPUT
|
mode: OUTPUT
|
||||||
inverted: False
|
inverted: false
|
||||||
|
|
||||||
# Individual inputs
|
# Individual inputs
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
@ -110,7 +110,7 @@ has 16 GPIOs and can be configured the same way than the other variants.
|
|||||||
# Use pin number 1
|
# Use pin number 1
|
||||||
number: 1
|
number: 1
|
||||||
mode: INPUT
|
mode: INPUT
|
||||||
inverted: False
|
inverted: false
|
||||||
|
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
@ -158,7 +158,7 @@ binary sensor or GPIO switch.
|
|||||||
# Use pin number 0
|
# Use pin number 0
|
||||||
number: 0
|
number: 0
|
||||||
mode: OUTPUT
|
mode: OUTPUT
|
||||||
inverted: False
|
inverted: false
|
||||||
|
|
||||||
# Individual inputs
|
# Individual inputs
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
@ -170,7 +170,7 @@ binary sensor or GPIO switch.
|
|||||||
number: 1
|
number: 1
|
||||||
# One of INPUT or INPUT_PULLUP
|
# One of INPUT or INPUT_PULLUP
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: False
|
inverted: false
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
************************
|
************************
|
||||||
|
@ -39,7 +39,7 @@ The MCP23S08 component (`datasheet <http://ww1.microchip.com/downloads/en/Device
|
|||||||
number: 0
|
number: 0
|
||||||
# One of INPUT, INPUT_PULLUP or OUTPUT
|
# One of INPUT, INPUT_PULLUP or OUTPUT
|
||||||
mode: OUTPUT
|
mode: OUTPUT
|
||||||
inverted: False
|
inverted: false
|
||||||
|
|
||||||
# Individual inputs
|
# Individual inputs
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
@ -51,7 +51,7 @@ The MCP23S08 component (`datasheet <http://ww1.microchip.com/downloads/en/Device
|
|||||||
number: 1
|
number: 1
|
||||||
# One of INPUT or INPUT_PULLUP
|
# One of INPUT or INPUT_PULLUP
|
||||||
mode: INPUT
|
mode: INPUT
|
||||||
inverted: False
|
inverted: false
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
************************
|
************************
|
||||||
@ -104,7 +104,7 @@ binary sensor or GPIO switch.
|
|||||||
# Use pin number 0
|
# Use pin number 0
|
||||||
number: 0
|
number: 0
|
||||||
mode: OUTPUT
|
mode: OUTPUT
|
||||||
inverted: False
|
inverted: false
|
||||||
|
|
||||||
# Individual inputs
|
# Individual inputs
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
@ -116,7 +116,7 @@ binary sensor or GPIO switch.
|
|||||||
number: 1
|
number: 1
|
||||||
# One of INPUT or INPUT_PULLUP
|
# One of INPUT or INPUT_PULLUP
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: False
|
inverted: false
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
************************
|
************************
|
||||||
|
@ -38,10 +38,10 @@ Configuration variables:
|
|||||||
- **client_id** (*Optional*, string): The client id to use for opening
|
- **client_id** (*Optional*, string): The client id to use for opening
|
||||||
connections. See :ref:`mqtt-defaults` for more information.
|
connections. See :ref:`mqtt-defaults` for more information.
|
||||||
- **discovery** (*Optional*, boolean): If Home Assistant automatic
|
- **discovery** (*Optional*, boolean): If Home Assistant automatic
|
||||||
discovery should be enabled. Defaults to ``True``.
|
discovery should be enabled. Defaults to ``true``.
|
||||||
- **discovery_retain** (*Optional*, boolean): Whether to retain MQTT
|
- **discovery_retain** (*Optional*, boolean): Whether to retain MQTT
|
||||||
discovery messages so that entities are added automatically on Home
|
discovery messages so that entities are added automatically on Home
|
||||||
Assistant restart. Defaults to ``True``.
|
Assistant restart. Defaults to ``true``.
|
||||||
- **discovery_prefix** (*Optional*, string): The prefix to use for Home
|
- **discovery_prefix** (*Optional*, string): The prefix to use for Home
|
||||||
Assistant’s MQTT discovery. Should not contain trailing slash.
|
Assistant’s MQTT discovery. Should not contain trailing slash.
|
||||||
Defaults to ``homeassistant``.
|
Defaults to ``homeassistant``.
|
||||||
@ -91,7 +91,7 @@ It is used in several places like last will and birth messages or MQTT log optio
|
|||||||
topic: topic/to/send/to
|
topic: topic/to/send/to
|
||||||
payload: online
|
payload: online
|
||||||
qos: 0
|
qos: 0
|
||||||
retain: True
|
retain: true
|
||||||
|
|
||||||
|
|
||||||
Configuration options:
|
Configuration options:
|
||||||
@ -103,7 +103,7 @@ Configuration options:
|
|||||||
Service <https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels>`__
|
Service <https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels>`__
|
||||||
level of the topic. Defaults to 0.
|
level of the topic. Defaults to 0.
|
||||||
- **retain** (*Optional*, boolean): If the published message should
|
- **retain** (*Optional*, boolean): If the published message should
|
||||||
have a retain flag on or not. Defaults to ``True``.
|
have a retain flag on or not. Defaults to ``true``.
|
||||||
|
|
||||||
|
|
||||||
The ``log_topic`` has an additional configuration option:
|
The ``log_topic`` has an additional configuration option:
|
||||||
@ -126,7 +126,7 @@ discovery in your Home Assistant configuration with the following:
|
|||||||
# Example Home Assistant configuration.yaml entry
|
# Example Home Assistant configuration.yaml entry
|
||||||
mqtt:
|
mqtt:
|
||||||
broker: ...
|
broker: ...
|
||||||
discovery: True
|
discovery: true
|
||||||
|
|
||||||
And that should already be it 🎉 All devices defined through ESPHome should show up automatically
|
And that should already be it 🎉 All devices defined through ESPHome should show up automatically
|
||||||
in the entities section of Home Assistant.
|
in the entities section of Home Assistant.
|
||||||
@ -253,8 +253,8 @@ MQTT can have some overrides for specific options.
|
|||||||
|
|
||||||
name: "Component Name"
|
name: "Component Name"
|
||||||
# Optional variables:
|
# Optional variables:
|
||||||
retain: True
|
retain: true
|
||||||
discovery: True
|
discovery: true
|
||||||
availability:
|
availability:
|
||||||
topic: livingroom/status
|
topic: livingroom/status
|
||||||
payload_available: online
|
payload_available: online
|
||||||
@ -267,7 +267,7 @@ Configuration variables:
|
|||||||
- **name** (**Required**, string): The name to use for the MQTT
|
- **name** (**Required**, string): The name to use for the MQTT
|
||||||
Component.
|
Component.
|
||||||
- **retain** (*Optional*, boolean): If all MQTT state messages should
|
- **retain** (*Optional*, boolean): If all MQTT state messages should
|
||||||
be retained. Defaults to ``True``.
|
be retained. Defaults to ``true``.
|
||||||
- **discovery** (*Optional*, boolean): Manually enable/disable
|
- **discovery** (*Optional*, boolean): Manually enable/disable
|
||||||
discovery for a component. Defaults to the global default.
|
discovery for a component. Defaults to the global default.
|
||||||
- **availability** (*Optional*): Manually set what should be sent to
|
- **availability** (*Optional*): Manually set what should be sent to
|
||||||
@ -447,7 +447,7 @@ Configuration options:
|
|||||||
Service <https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels>`__
|
Service <https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels>`__
|
||||||
level of the topic. Defaults to 0.
|
level of the topic. Defaults to 0.
|
||||||
- **retain** (*Optional*, boolean, :ref:`templatable <config-templatable>`): If the published message should
|
- **retain** (*Optional*, boolean, :ref:`templatable <config-templatable>`): If the published message should
|
||||||
have a retain flag on or not. Defaults to ``False``.
|
have a retain flag on or not. Defaults to ``false``.
|
||||||
|
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
@ -498,7 +498,7 @@ Configuration options:
|
|||||||
Service <https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels>`__
|
Service <https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels>`__
|
||||||
level of the topic. Defaults to 0.
|
level of the topic. Defaults to 0.
|
||||||
- **retain** (*Optional*, boolean): If the published message should
|
- **retain** (*Optional*, boolean): If the published message should
|
||||||
have a retain flag on or not. Defaults to ``False``.
|
have a retain flag on or not. Defaults to ``false``.
|
||||||
|
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
@ -41,7 +41,7 @@ Configuration variables:
|
|||||||
restored with ``restore_value``.
|
restored with ``restore_value``.
|
||||||
Cannot be used with ``lambda``. Defaults to ``min_value``.
|
Cannot be used with ``lambda``. Defaults to ``min_value``.
|
||||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||||
- All other options from :ref:`Sensor <config-number>`.
|
- All other options from :ref:`Number <config-number>`.
|
||||||
|
|
||||||
``number.set`` Action
|
``number.set`` Action
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
@ -21,14 +21,14 @@ Logging+WiFi+OTA are initialized, so that you can upload a new binary.
|
|||||||
|
|
||||||
# Example configuration entry
|
# Example configuration entry
|
||||||
ota:
|
ota:
|
||||||
safe_mode: True
|
safe_mode: true
|
||||||
password: VERYSECURE
|
password: VERYSECURE
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
- **safe_mode** (*Optional*, boolean): Whether to enable safe mode.
|
- **safe_mode** (*Optional*, boolean): Whether to enable safe mode.
|
||||||
Defaults to ``True``.
|
Defaults to ``true``.
|
||||||
- **password** (*Optional*, string): The password to use for updates.
|
- **password** (*Optional*, string): The password to use for updates.
|
||||||
- **port** (*Optional*, int): The port to use for OTA updates. Defaults
|
- **port** (*Optional*, int): The port to use for OTA updates. Defaults
|
||||||
to ``3232`` for the ESP32 and ``8266`` for the ESP8266.
|
to ``3232`` for the ESP32 and ``8266`` for the ESP8266.
|
||||||
|
@ -62,7 +62,7 @@ Configuration variables:
|
|||||||
|
|
||||||
- **init_with_half_cycle** (*Optional*, boolean): Will send the first full half AC cycle
|
- **init_with_half_cycle** (*Optional*, boolean): Will send the first full half AC cycle
|
||||||
Try to use this for dimmable LED lights, it might help turning on at low brightness
|
Try to use this for dimmable LED lights, it might help turning on at low brightness
|
||||||
levels. On Halogen lamps it might show at initial flicker. Defaults to ``False``.
|
levels. On Halogen lamps it might show at initial flicker. Defaults to ``false``.
|
||||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||||
- All other options from :ref:`Output <config-output>`.
|
- All other options from :ref:`Output <config-output>`.
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ Each output platform extends this configuration schema.
|
|||||||
- platform: ...
|
- platform: ...
|
||||||
id: my_output_id
|
id: my_output_id
|
||||||
power_supply: power_supply_id
|
power_supply: power_supply_id
|
||||||
inverted: False
|
inverted: false
|
||||||
min_power: 0.01
|
min_power: 0.01
|
||||||
max_power: 0.75
|
max_power: 0.75
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ Configuration variables:
|
|||||||
this output. When the output is enabled, the power supply will
|
this output. When the output is enabled, the power supply will
|
||||||
automatically be switched on too.
|
automatically be switched on too.
|
||||||
- **inverted** (*Optional*, boolean): If the output should be treated
|
- **inverted** (*Optional*, boolean): If the output should be treated
|
||||||
as inverted. Defaults to ``False``.
|
as inverted. Defaults to ``false``.
|
||||||
|
|
||||||
Float outputs only:
|
Float outputs only:
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ and configurable alternative is ``0x61``.
|
|||||||
i2c:
|
i2c:
|
||||||
sda: 21
|
sda: 21
|
||||||
scl: 22
|
scl: 22
|
||||||
scan: True
|
scan: true
|
||||||
|
|
||||||
# Set the output with default (address: 0x60 / global i2c)
|
# Set the output with default (address: 0x60 / global i2c)
|
||||||
output:
|
output:
|
||||||
|
@ -32,7 +32,7 @@ not work.
|
|||||||
pcf8574:
|
pcf8574:
|
||||||
- id: 'pcf8574_hub'
|
- id: 'pcf8574_hub'
|
||||||
address: 0x21
|
address: 0x21
|
||||||
pcf8575: False
|
pcf8575: false
|
||||||
|
|
||||||
# Individual outputs
|
# Individual outputs
|
||||||
switch:
|
switch:
|
||||||
@ -44,7 +44,7 @@ not work.
|
|||||||
number: 0
|
number: 0
|
||||||
# One of INPUT or OUTPUT
|
# One of INPUT or OUTPUT
|
||||||
mode: OUTPUT
|
mode: OUTPUT
|
||||||
inverted: False
|
inverted: false
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
************************
|
************************
|
||||||
@ -52,7 +52,7 @@ Configuration variables:
|
|||||||
- **id** (**Required**, :ref:`config-id`): The id to use for this PCF8574 component.
|
- **id** (**Required**, :ref:`config-id`): The id to use for this PCF8574 component.
|
||||||
- **address** (*Optional*, int): The I²C address of the driver.
|
- **address** (*Optional*, int): The I²C address of the driver.
|
||||||
Defaults to ``0x21``.
|
Defaults to ``0x21``.
|
||||||
- **pcf8575** (*Optional*, boolean): Whether this is a 16-pin PCF8575. Defaults to ``False``.
|
- **pcf8575** (*Optional*, boolean): Whether this is a 16-pin PCF8575. Defaults to ``false``.
|
||||||
|
|
||||||
|
|
||||||
Pin configuration variables:
|
Pin configuration variables:
|
||||||
@ -61,7 +61,7 @@ Pin configuration variables:
|
|||||||
- **pcf8574** (**Required**, :ref:`config-id`): The id of the PCF8574 component of the pin.
|
- **pcf8574** (**Required**, :ref:`config-id`): The id of the PCF8574 component of the pin.
|
||||||
- **number** (**Required**, integer): The pin number.
|
- **number** (**Required**, integer): The pin number.
|
||||||
- **inverted** (*Optional*, boolean): If all read and written values
|
- **inverted** (*Optional*, boolean): If all read and written values
|
||||||
should be treated as inverted. Defaults to ``False``.
|
should be treated as inverted. Defaults to ``false``.
|
||||||
- **mode** (*Optional*, string): A pin mode to set for the pin at. One of ``INPUT`` or ``OUTPUT``.
|
- **mode** (*Optional*, string): A pin mode to set for the pin at. One of ``INPUT`` or ``OUTPUT``.
|
||||||
|
|
||||||
|
|
||||||
|
@ -231,7 +231,7 @@ Remote code selection (exactly one of these has to be included):
|
|||||||
remote_receiver:
|
remote_receiver:
|
||||||
pin:
|
pin:
|
||||||
number: D4
|
number: D4
|
||||||
inverted: True
|
inverted: true
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
dump: all
|
dump: all
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ Configuration variables:
|
|||||||
- **name** (**Required**, string): The name for the CO₂eq sensor.
|
- **name** (**Required**, string): The name for the CO₂eq sensor.
|
||||||
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
|
||||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``
|
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``
|
||||||
- **store_baseline** (*Optional*, boolean ): Stores and retrieves the baseline information for quicker startups. Defaults to ``True``
|
- **store_baseline** (*Optional*, boolean ): Stores and retrieves the baseline information for quicker startups. Defaults to ``true``
|
||||||
|
|
||||||
- **compensation** (*Optional*): The block containing sensors used for compensation. If not set defaults will be used.
|
- **compensation** (*Optional*): The block containing sensors used for compensation. If not set defaults will be used.
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ In teleinfo platform:
|
|||||||
|
|
||||||
- **historical_mode** (*Optional*): Whether to use historical mode or standard mode.
|
- **historical_mode** (*Optional*): Whether to use historical mode or standard mode.
|
||||||
With historical mode, baudrate of 1200 must be used whereas 9600 must be used in
|
With historical mode, baudrate of 1200 must be used whereas 9600 must be used in
|
||||||
standard mode. Defaults to ``False``.
|
standard mode. Defaults to ``false``.
|
||||||
|
|
||||||
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the
|
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the
|
||||||
sensor. Defaults to ``60s``.
|
sensor. Defaults to ``60s``.
|
||||||
|
@ -51,7 +51,7 @@ The :ref:`I²C Bus <i2c>` is required to be set up in your configuration for thi
|
|||||||
name: "VL53L0x Distance"
|
name: "VL53L0x Distance"
|
||||||
address: 0x29
|
address: 0x29
|
||||||
update_interval: 60s
|
update_interval: 60s
|
||||||
long_range: True
|
long_range: true
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
------------------------
|
------------------------
|
||||||
|
@ -40,7 +40,7 @@ Use of the OE pin is optional. If used, the pin should be pulled up externally.
|
|||||||
sn74hc595: sn74hc595_hub
|
sn74hc595: sn74hc595_hub
|
||||||
# Use pin number 0
|
# Use pin number 0
|
||||||
number: 0
|
number: 0
|
||||||
inverted: False
|
inverted: false
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
************************
|
************************
|
||||||
@ -59,7 +59,7 @@ Pin configuration variables:
|
|||||||
- **sn74hc595** (**Required**, :ref:`config-id`): The id of the SN74HC595 component of the pin.
|
- **sn74hc595** (**Required**, :ref:`config-id`): The id of the SN74HC595 component of the pin.
|
||||||
- **number** (**Required**, integer): The pin number.
|
- **number** (**Required**, integer): The pin number.
|
||||||
- **inverted** (*Optional*, boolean): If all written values should be treated as inverted.
|
- **inverted** (*Optional*, boolean): If all written values should be treated as inverted.
|
||||||
Defaults to ``False``.
|
Defaults to ``false``.
|
||||||
|
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
|
@ -38,7 +38,7 @@ Configuration variables:
|
|||||||
status_led:
|
status_led:
|
||||||
pin:
|
pin:
|
||||||
number: D0
|
number: D0
|
||||||
inverted: True
|
inverted: true
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
|
@ -79,7 +79,7 @@ Configuration variables:
|
|||||||
# ...
|
# ...
|
||||||
dir_pin:
|
dir_pin:
|
||||||
number: D1
|
number: D1
|
||||||
inverted: True
|
inverted: true
|
||||||
|
|
||||||
ULN2003 Component
|
ULN2003 Component
|
||||||
-----------------
|
-----------------
|
||||||
|
@ -27,7 +27,7 @@ Configuration variables:
|
|||||||
sensor in the frontend.
|
sensor in the frontend.
|
||||||
- **inverted** (*Optional*, boolean): Whether to invert the binary
|
- **inverted** (*Optional*, boolean): Whether to invert the binary
|
||||||
state, i.e. report ON states as OFF and vice versa. Defaults
|
state, i.e. report ON states as OFF and vice versa. Defaults
|
||||||
to ``False``.
|
to ``false``.
|
||||||
- **internal** (*Optional*, boolean): Mark this component as internal. Internal components will
|
- **internal** (*Optional*, boolean): Mark this component as internal. Internal components will
|
||||||
not be exposed to the frontend (like Home Assistant). Only specifying an ``id`` without
|
not be exposed to the frontend (like Home Assistant). Only specifying an ``id`` without
|
||||||
a ``name`` will implicitly set this to true.
|
a ``name`` will implicitly set this to true.
|
||||||
|
@ -152,7 +152,7 @@ The outputs can in turn be used to add PWM-enabled lights like the monochromatic
|
|||||||
# Use pin number 0 on the SX1509
|
# Use pin number 0 on the SX1509
|
||||||
number: 0
|
number: 0
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
|
|
||||||
# Individual binary outputs
|
# Individual binary outputs
|
||||||
switch:
|
switch:
|
||||||
@ -164,7 +164,7 @@ The outputs can in turn be used to add PWM-enabled lights like the monochromatic
|
|||||||
number: 1
|
number: 1
|
||||||
# use as output for switch
|
# use as output for switch
|
||||||
mode: OUTPUT
|
mode: OUTPUT
|
||||||
inverted: False
|
inverted: false
|
||||||
|
|
||||||
# Individual outputs
|
# Individual outputs
|
||||||
output:
|
output:
|
||||||
@ -185,7 +185,7 @@ The outputs can in turn be used to add PWM-enabled lights like the monochromatic
|
|||||||
- **sx1509** (**Required**, :ref:`config-id`): The id of the SX1509 component of the pin.
|
- **sx1509** (**Required**, :ref:`config-id`): The id of the SX1509 component of the pin.
|
||||||
- **number** (**Required**, integer): The pin number.
|
- **number** (**Required**, integer): The pin number.
|
||||||
- **inverted** (*Optional*, boolean): If all read and written values
|
- **inverted** (*Optional*, boolean): If all read and written values
|
||||||
should be treated as inverted. Defaults to ``False``.
|
should be treated as inverted. Defaults to ``false``.
|
||||||
- **mode** (*Optional*, string): A pin mode to set for the pin at. One of ``INPUT``,
|
- **mode** (*Optional*, string): A pin mode to set for the pin at. One of ``INPUT``,
|
||||||
``INPUT_PULLUP`` or ``OUTPUT``.
|
``INPUT_PULLUP`` or ``OUTPUT``.
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ Once configured, you can use any of the 8 channels (TCA9548A) as separated chann
|
|||||||
- address: 0x70
|
- address: 0x70
|
||||||
id: multiplex0
|
id: multiplex0
|
||||||
i2c_id: i2c0
|
i2c_id: i2c0
|
||||||
scan: True
|
scan: true
|
||||||
|
|
||||||
# Individual I2C Devices
|
# Individual I2C Devices
|
||||||
sensor:
|
sensor:
|
||||||
|
@ -23,7 +23,7 @@ Configuration variables:
|
|||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
- **name** (**Required**, string): The name of the text sensor.
|
- **name** (**Required**, string): The name of the text sensor.
|
||||||
- **hide_timestamp** (*Optional*, boolean): Allows you to hide the compilation timestamp from the version string. Defaults to ``False``.
|
- **hide_timestamp** (*Optional*, boolean): Allows you to hide the compilation timestamp from the version string. Defaults to ``false``.
|
||||||
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||||
- All other options from :ref:`Text Sensor <config-text_sensor>`.
|
- All other options from :ref:`Text Sensor <config-text_sensor>`.
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ Disabling the compilation timestamp:
|
|||||||
text_sensor:
|
text_sensor:
|
||||||
- platform: version
|
- platform: version
|
||||||
name: "ESPHome Version"
|
name: "ESPHome Version"
|
||||||
hide_timestamp: True
|
hide_timestamp: true
|
||||||
|
|
||||||
This will, for example, change the output of the senser from:
|
This will, for example, change the output of the senser from:
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ Configuration variables:
|
|||||||
|
|
||||||
ESP32 options:
|
ESP32 options:
|
||||||
|
|
||||||
- **invert** (*Optional*, boolean): Invert the logic levels of the RX and TX pins. Options: ``True`` or ``False``. Defaults to ``False``.
|
- **invert** (*Optional*, boolean): Invert the logic levels of the RX and TX pins. Options: ``true`` or ``false``. Defaults to ``false``.
|
||||||
|
|
||||||
.. _uart-hardware_uarts:
|
.. _uart-hardware_uarts:
|
||||||
|
|
||||||
|
@ -254,7 +254,7 @@ which these adaptions created by `@cryptelli <https://community.home-assistant.i
|
|||||||
- platform: gpio
|
- platform: gpio
|
||||||
pin:
|
pin:
|
||||||
number: GPIO3
|
number: GPIO3
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Power Button"
|
name: "Power Button"
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay
|
- switch.toggle: relay
|
||||||
@ -277,7 +277,7 @@ which these adaptions created by `@cryptelli <https://community.home-assistant.i
|
|||||||
- platform: hlw8012
|
- platform: hlw8012
|
||||||
sel_pin:
|
sel_pin:
|
||||||
number: GPIO12
|
number: GPIO12
|
||||||
inverted: True
|
inverted: true
|
||||||
cf_pin: GPIO04
|
cf_pin: GPIO04
|
||||||
cf1_pin: GPIO05
|
cf1_pin: GPIO05
|
||||||
current_resistor: 0.00221
|
current_resistor: 0.00221
|
||||||
@ -381,7 +381,7 @@ Check the following page for calibrating the measurements: :ref:`sensor-filter-c
|
|||||||
- platform: gpio
|
- platform: gpio
|
||||||
pin:
|
pin:
|
||||||
number: GPIO0
|
number: GPIO0
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "${plug_name}_button"
|
name: "${plug_name}_button"
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay
|
- switch.toggle: relay
|
||||||
@ -390,7 +390,7 @@ Check the following page for calibrating the measurements: :ref:`sensor-filter-c
|
|||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: "${plug_name}_LED_Red"
|
name: "${plug_name}_LED_Red"
|
||||||
pin: GPIO13
|
pin: GPIO13
|
||||||
inverted: True
|
inverted: true
|
||||||
restore_mode: ALWAYS_OFF
|
restore_mode: ALWAYS_OFF
|
||||||
id: red_led
|
id: red_led
|
||||||
|
|
||||||
@ -410,7 +410,7 @@ Check the following page for calibrating the measurements: :ref:`sensor-filter-c
|
|||||||
- platform: hlw8012
|
- platform: hlw8012
|
||||||
sel_pin:
|
sel_pin:
|
||||||
number: GPIO12
|
number: GPIO12
|
||||||
inverted: True
|
inverted: true
|
||||||
cf_pin: GPIO04
|
cf_pin: GPIO04
|
||||||
cf1_pin: GPIO05
|
cf1_pin: GPIO05
|
||||||
current_resistor: ${current_res}
|
current_resistor: ${current_res}
|
||||||
|
@ -102,7 +102,7 @@ Note your ``address`` and ``model`` might be different, use the scan option to f
|
|||||||
i2c:
|
i2c:
|
||||||
sda: D1
|
sda: D1
|
||||||
scl: D2
|
scl: D2
|
||||||
scan: False
|
scan: false
|
||||||
|
|
||||||
display:
|
display:
|
||||||
- platform: ssd1306_i2c
|
- platform: ssd1306_i2c
|
||||||
|
@ -79,7 +79,7 @@ Then you need to set it up with yaml.
|
|||||||
id: vbutton_light
|
id: vbutton_light
|
||||||
pin:
|
pin:
|
||||||
number: GPIO0
|
number: GPIO0
|
||||||
inverted: True
|
inverted: true
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
- light.toggle: ifan02_light
|
- light.toggle: ifan02_light
|
||||||
@ -88,7 +88,7 @@ Then you need to set it up with yaml.
|
|||||||
id: vbutton_relay_1
|
id: vbutton_relay_1
|
||||||
pin:
|
pin:
|
||||||
number: GPIO9
|
number: GPIO9
|
||||||
inverted: True
|
inverted: true
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
- switch.toggle: fan_relay1
|
- switch.toggle: fan_relay1
|
||||||
@ -98,7 +98,7 @@ Then you need to set it up with yaml.
|
|||||||
id: vbutton_relay_2
|
id: vbutton_relay_2
|
||||||
pin:
|
pin:
|
||||||
number: GPIO10
|
number: GPIO10
|
||||||
inverted: True
|
inverted: true
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
- switch.toggle: fan_relay2
|
- switch.toggle: fan_relay2
|
||||||
@ -108,7 +108,7 @@ Then you need to set it up with yaml.
|
|||||||
id: vbutton_relay_3
|
id: vbutton_relay_3
|
||||||
pin:
|
pin:
|
||||||
number: GPIO14
|
number: GPIO14
|
||||||
inverted: True
|
inverted: true
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
- switch.toggle: fan_relay3
|
- switch.toggle: fan_relay3
|
||||||
@ -137,7 +137,7 @@ Then you need to set it up with yaml.
|
|||||||
switch:
|
switch:
|
||||||
- platform: template
|
- platform: template
|
||||||
id: update_fan_speed
|
id: update_fan_speed
|
||||||
optimistic: True
|
optimistic: true
|
||||||
turn_on_action:
|
turn_on_action:
|
||||||
then:
|
then:
|
||||||
- delay: 200ms
|
- delay: 200ms
|
||||||
|
@ -89,7 +89,7 @@ I also needed this procedure to flash M5Stack ATOM Lite and ATOM Matrix modules,
|
|||||||
Calibration & Testing
|
Calibration & Testing
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Once everything is hooked up and flashed, enable ``esp32_touch:`` ``setup_mode: True`` and proceed to adjust the threshold setting on the touch-sensitive binary sensor (GPIO33) to find the proper value for your particular moisture sensor and cabling situation. Grab a glass of water for testing, another for yourself, and dip away while watching the logs. Your goal is to find a threshold value that is sufficient to trigger the binary sensor in water, but not otherwise. See :ref:`ESP32 Touch Pad <esp32-touch-binary-sensor>` for more information.
|
Once everything is hooked up and flashed, enable ``esp32_touch:`` ``setup_mode: true`` and proceed to adjust the threshold setting on the touch-sensitive binary sensor (GPIO33) to find the proper value for your particular moisture sensor and cabling situation. Grab a glass of water for testing, another for yourself, and dip away while watching the logs. Your goal is to find a threshold value that is sufficient to trigger the binary sensor in water, but not otherwise. See :ref:`ESP32 Touch Pad <esp32-touch-binary-sensor>` for more information.
|
||||||
|
|
||||||
------------
|
------------
|
||||||
|
|
||||||
@ -161,7 +161,7 @@ ESPHome configuration
|
|||||||
status_led:
|
status_led:
|
||||||
pin:
|
pin:
|
||||||
number: GPIO10
|
number: GPIO10
|
||||||
inverted: True
|
inverted: true
|
||||||
|
|
||||||
spi:
|
spi:
|
||||||
clk_pin: GPIO13
|
clk_pin: GPIO13
|
||||||
@ -171,10 +171,10 @@ ESPHome configuration
|
|||||||
- id: bus_a
|
- id: bus_a
|
||||||
sda: GPIO21
|
sda: GPIO21
|
||||||
scl: GPIO22
|
scl: GPIO22
|
||||||
scan: True
|
scan: true
|
||||||
|
|
||||||
esp32_touch:
|
esp32_touch:
|
||||||
#setup_mode: True
|
#setup_mode: true
|
||||||
iir_filter: 10ms
|
iir_filter: 10ms
|
||||||
|
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
|
@ -118,7 +118,7 @@ Now you have a pair of wires from the GPIO and 0V to your retractive switch lets
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO14
|
number: GPIO14
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
id: button_1
|
id: button_1
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
|
@ -98,7 +98,7 @@ The R1 version of the Dual controls the relays via the UART, so the code gets a
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO4
|
number: GPIO4
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
id: button_1
|
id: button_1
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
@ -108,7 +108,7 @@ The R1 version of the Dual controls the relays via the UART, so the code gets a
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO14
|
number: GPIO14
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
id: button_2
|
id: button_2
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
@ -197,7 +197,7 @@ It's basically the same as the :doc:`T2 </cookbook/sonoff-t1-3>`
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO0
|
number: GPIO0
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
id: button
|
id: button
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
@ -207,7 +207,7 @@ It's basically the same as the :doc:`T2 </cookbook/sonoff-t1-3>`
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO14
|
number: GPIO14
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
id: button
|
id: button
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
|
@ -37,7 +37,7 @@ T1
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO0
|
number: GPIO0
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
id: button_1
|
id: button_1
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
@ -100,7 +100,7 @@ T2
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO0
|
number: GPIO0
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
id: button_1
|
id: button_1
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
@ -110,7 +110,7 @@ T2
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO9
|
number: GPIO9
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
id: button_2
|
id: button_2
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
@ -171,7 +171,7 @@ T3
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO0
|
number: GPIO0
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
id: button_1
|
id: button_1
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
@ -181,7 +181,7 @@ T3
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO9
|
number: GPIO9
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
id: button_2
|
id: button_2
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
@ -191,7 +191,7 @@ T3
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO10
|
number: GPIO10
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
id: button_3
|
id: button_3
|
||||||
on_press:
|
on_press:
|
||||||
then:
|
then:
|
||||||
|
@ -244,25 +244,25 @@ of the basic functions.
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO0
|
number: GPIO0
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff 4CH Button 1"
|
name: "Sonoff 4CH Button 1"
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
pin:
|
pin:
|
||||||
number: GPIO9
|
number: GPIO9
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff 4CH Button 2"
|
name: "Sonoff 4CH Button 2"
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
pin:
|
pin:
|
||||||
number: GPIO10
|
number: GPIO10
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff 4CH Button 3"
|
name: "Sonoff 4CH Button 3"
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
pin:
|
pin:
|
||||||
number: GPIO14
|
number: GPIO14
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff 4CH Button 4"
|
name: "Sonoff 4CH Button 4"
|
||||||
- platform: status
|
- platform: status
|
||||||
name: "Sonoff 4CH Status"
|
name: "Sonoff 4CH Status"
|
||||||
@ -286,7 +286,7 @@ of the basic functions.
|
|||||||
- platform: esp8266_pwm
|
- platform: esp8266_pwm
|
||||||
id: blue_led
|
id: blue_led
|
||||||
pin: GPIO13
|
pin: GPIO13
|
||||||
inverted: True
|
inverted: true
|
||||||
|
|
||||||
light:
|
light:
|
||||||
# ... and then make a light out of it.
|
# ... and then make a light out of it.
|
||||||
|
@ -18,7 +18,7 @@ binary_sensor:
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO0
|
number: GPIO0
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff 4CH Button 1"
|
name: "Sonoff 4CH Button 1"
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay_1
|
- switch.toggle: relay_1
|
||||||
@ -26,7 +26,7 @@ binary_sensor:
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO9
|
number: GPIO9
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff 4CH Button 2"
|
name: "Sonoff 4CH Button 2"
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay_2
|
- switch.toggle: relay_2
|
||||||
@ -34,7 +34,7 @@ binary_sensor:
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO10
|
number: GPIO10
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff 4CH Button 3"
|
name: "Sonoff 4CH Button 3"
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay_3
|
- switch.toggle: relay_3
|
||||||
@ -42,7 +42,7 @@ binary_sensor:
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO14
|
number: GPIO14
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff 4CH Button 4"
|
name: "Sonoff 4CH Button 4"
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay_4
|
- switch.toggle: relay_4
|
||||||
@ -71,7 +71,7 @@ output:
|
|||||||
- platform: esp8266_pwm
|
- platform: esp8266_pwm
|
||||||
id: blue_led
|
id: blue_led
|
||||||
pin: GPIO13
|
pin: GPIO13
|
||||||
inverted: True
|
inverted: true
|
||||||
|
|
||||||
light:
|
light:
|
||||||
- platform: monochromatic
|
- platform: monochromatic
|
||||||
|
@ -72,7 +72,7 @@ exposes all of the basic functions.
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO0
|
number: GPIO0
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff Basic Button"
|
name: "Sonoff Basic Button"
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay
|
- switch.toggle: relay
|
||||||
|
@ -226,7 +226,7 @@ of the basic functions.
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO0
|
number: GPIO0
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff S20 Button"
|
name: "Sonoff S20 Button"
|
||||||
- platform: status
|
- platform: status
|
||||||
name: "Sonoff S20 Status"
|
name: "Sonoff S20 Status"
|
||||||
@ -246,7 +246,7 @@ of the basic functions.
|
|||||||
id: s20_green_led
|
id: s20_green_led
|
||||||
pin:
|
pin:
|
||||||
number: GPIO13
|
number: GPIO13
|
||||||
inverted: True
|
inverted: true
|
||||||
|
|
||||||
light:
|
light:
|
||||||
# ... and then make a light out of it.
|
# ... and then make a light out of it.
|
||||||
@ -275,7 +275,7 @@ in Home Assistant, replace the last part with this:
|
|||||||
id: s20_green_led
|
id: s20_green_led
|
||||||
pin:
|
pin:
|
||||||
number: GPIO13
|
number: GPIO13
|
||||||
inverted: True
|
inverted: true
|
||||||
# Note: do *not* make the relay a dimmable (PWM) signal, relays cannot handle that
|
# Note: do *not* make the relay a dimmable (PWM) signal, relays cannot handle that
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
id: s20_relay
|
id: s20_relay
|
||||||
|
@ -19,7 +19,7 @@ binary_sensor:
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO0
|
number: GPIO0
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff S20 Button"
|
name: "Sonoff S20 Button"
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay
|
- switch.toggle: relay
|
||||||
@ -37,7 +37,7 @@ output:
|
|||||||
- platform: esp8266_pwm
|
- platform: esp8266_pwm
|
||||||
id: s20_green_led
|
id: s20_green_led
|
||||||
pin: GPIO13
|
pin: GPIO13
|
||||||
inverted: True
|
inverted: true
|
||||||
|
|
||||||
light:
|
light:
|
||||||
- platform: monochromatic
|
- platform: monochromatic
|
||||||
|
@ -247,19 +247,19 @@ of the basic functions.
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO0
|
number: GPIO0
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff T1 UK 3 Gang Touchpad 1"
|
name: "Sonoff T1 UK 3 Gang Touchpad 1"
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
pin:
|
pin:
|
||||||
number: GPIO9
|
number: GPIO9
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff T1 UK 3 Gang Touchpad 2"
|
name: "Sonoff T1 UK 3 Gang Touchpad 2"
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
pin:
|
pin:
|
||||||
number: GPIO10
|
number: GPIO10
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff T1 UK 3 Gang Touchpad 3"
|
name: "Sonoff T1 UK 3 Gang Touchpad 3"
|
||||||
- platform: status
|
- platform: status
|
||||||
name: "Sonoff T1 UK 3 Gang Status"
|
name: "Sonoff T1 UK 3 Gang Status"
|
||||||
@ -280,7 +280,7 @@ of the basic functions.
|
|||||||
- platform: esp8266_pwm
|
- platform: esp8266_pwm
|
||||||
id: blue_led
|
id: blue_led
|
||||||
pin: GPIO13
|
pin: GPIO13
|
||||||
inverted: True
|
inverted: true
|
||||||
|
|
||||||
light:
|
light:
|
||||||
# ... and then make a light out of it.
|
# ... and then make a light out of it.
|
||||||
|
@ -25,7 +25,7 @@ binary_sensor:
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO0
|
number: GPIO0
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff T1 UK 3 Gang Touchpad 1"
|
name: "Sonoff T1 UK 3 Gang Touchpad 1"
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay_1
|
- switch.toggle: relay_1
|
||||||
@ -33,7 +33,7 @@ binary_sensor:
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO9
|
number: GPIO9
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff T1 UK 3 Gang Touchpad 2"
|
name: "Sonoff T1 UK 3 Gang Touchpad 2"
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay_2
|
- switch.toggle: relay_2
|
||||||
@ -41,7 +41,7 @@ binary_sensor:
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO10
|
number: GPIO10
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff T1 UK 3 Gang Touchpad 3"
|
name: "Sonoff T1 UK 3 Gang Touchpad 3"
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay_3
|
- switch.toggle: relay_3
|
||||||
@ -67,7 +67,7 @@ output:
|
|||||||
- platform: esp8266_pwm
|
- platform: esp8266_pwm
|
||||||
id: blue_led
|
id: blue_led
|
||||||
pin: GPIO13
|
pin: GPIO13
|
||||||
inverted: True
|
inverted: true
|
||||||
|
|
||||||
light:
|
light:
|
||||||
# ... and then make a light out of it.
|
# ... and then make a light out of it.
|
||||||
|
@ -251,19 +251,19 @@ of the basic functions.
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO0
|
number: GPIO0
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff T3 EU 3 Gang Touchpad 1"
|
name: "Sonoff T3 EU 3 Gang Touchpad 1"
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
pin:
|
pin:
|
||||||
number: GPIO9
|
number: GPIO9
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff T3 EU 3 Gang Touchpad 2"
|
name: "Sonoff T3 EU 3 Gang Touchpad 2"
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
pin:
|
pin:
|
||||||
number: GPIO10
|
number: GPIO10
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff T3 EU 3 Gang Touchpad 3"
|
name: "Sonoff T3 EU 3 Gang Touchpad 3"
|
||||||
- platform: status
|
- platform: status
|
||||||
name: "Sonoff T3 EU 3 Gang Status"
|
name: "Sonoff T3 EU 3 Gang Status"
|
||||||
@ -284,7 +284,7 @@ of the basic functions.
|
|||||||
- platform: esp8266_pwm
|
- platform: esp8266_pwm
|
||||||
id: blue_led
|
id: blue_led
|
||||||
pin: GPIO13
|
pin: GPIO13
|
||||||
inverted: True
|
inverted: true
|
||||||
|
|
||||||
light:
|
light:
|
||||||
# ... and then make a light out of it.
|
# ... and then make a light out of it.
|
||||||
|
@ -25,7 +25,7 @@ binary_sensor:
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO0
|
number: GPIO0
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff T3 EU 3 Gang Touchpad 1"
|
name: "Sonoff T3 EU 3 Gang Touchpad 1"
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay_1
|
- switch.toggle: relay_1
|
||||||
@ -33,7 +33,7 @@ binary_sensor:
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO9
|
number: GPIO9
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff T3 EU 3 Gang Touchpad 2"
|
name: "Sonoff T3 EU 3 Gang Touchpad 2"
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay_2
|
- switch.toggle: relay_2
|
||||||
@ -41,7 +41,7 @@ binary_sensor:
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO10
|
number: GPIO10
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
name: "Sonoff T3 EU 3 Gang Touchpad 3"
|
name: "Sonoff T3 EU 3 Gang Touchpad 3"
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay_3
|
- switch.toggle: relay_3
|
||||||
@ -67,7 +67,7 @@ output:
|
|||||||
- platform: esp8266_pwm
|
- platform: esp8266_pwm
|
||||||
id: blue_led
|
id: blue_led
|
||||||
pin: GPIO13
|
pin: GPIO13
|
||||||
inverted: True
|
inverted: true
|
||||||
|
|
||||||
light:
|
light:
|
||||||
# ... and then make a light out of it.
|
# ... and then make a light out of it.
|
||||||
|
@ -22,7 +22,7 @@ binary_sensor:
|
|||||||
pin:
|
pin:
|
||||||
number: GPIO1
|
number: GPIO1
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
inverted: True
|
inverted: true
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay
|
- switch.toggle: relay
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ switch:
|
|||||||
id: blue_led
|
id: blue_led
|
||||||
pin:
|
pin:
|
||||||
number: GPIO13
|
number: GPIO13
|
||||||
inverted: True
|
inverted: true
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: "Teckin Relay"
|
name: "Teckin Relay"
|
||||||
pin: GPIO14
|
pin: GPIO14
|
||||||
@ -45,13 +45,13 @@ switch:
|
|||||||
status_led:
|
status_led:
|
||||||
pin:
|
pin:
|
||||||
number: GPIO3
|
number: GPIO3
|
||||||
inverted: True
|
inverted: true
|
||||||
|
|
||||||
sensor:
|
sensor:
|
||||||
- platform: hlw8012
|
- platform: hlw8012
|
||||||
sel_pin:
|
sel_pin:
|
||||||
number: GPIO12
|
number: GPIO12
|
||||||
inverted: True
|
inverted: true
|
||||||
cf_pin: GPIO04
|
cf_pin: GPIO04
|
||||||
cf1_pin: GPIO05
|
cf1_pin: GPIO05
|
||||||
# Higher value gives lower watt readout
|
# Higher value gives lower watt readout
|
||||||
|
@ -30,7 +30,7 @@ sensor:
|
|||||||
- platform: hlw8012
|
- platform: hlw8012
|
||||||
sel_pin:
|
sel_pin:
|
||||||
number: GPIO12
|
number: GPIO12
|
||||||
inverted: True
|
inverted: true
|
||||||
cf_pin: GPIO5
|
cf_pin: GPIO5
|
||||||
cf1_pin: GPIO14
|
cf1_pin: GPIO14
|
||||||
current:
|
current:
|
||||||
@ -64,7 +64,7 @@ time:
|
|||||||
status_led:
|
status_led:
|
||||||
pin:
|
pin:
|
||||||
number: GPIO0 # Red LED
|
number: GPIO0 # Red LED
|
||||||
inverted: True
|
inverted: true
|
||||||
|
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
@ -73,14 +73,14 @@ binary_sensor:
|
|||||||
name: ${friendly_name} Button
|
name: ${friendly_name} Button
|
||||||
on_press:
|
on_press:
|
||||||
- switch.toggle: relay
|
- switch.toggle: relay
|
||||||
internal: True
|
internal: true
|
||||||
|
|
||||||
switch:
|
switch:
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
id: blue_led
|
id: blue_led
|
||||||
pin:
|
pin:
|
||||||
number: GPIO2
|
number: GPIO2
|
||||||
inverted: True
|
inverted: true
|
||||||
|
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
pin: GPIO4
|
pin: GPIO4
|
||||||
|
@ -74,14 +74,14 @@ In some places, ESPHome also supports a more advanced “pin schema”.
|
|||||||
# Advanced:
|
# Advanced:
|
||||||
pin:
|
pin:
|
||||||
number: D0
|
number: D0
|
||||||
inverted: True
|
inverted: true
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
|
|
||||||
Configuration variables:
|
Configuration variables:
|
||||||
|
|
||||||
- **number** (**Required**, pin): The pin number.
|
- **number** (**Required**, pin): The pin number.
|
||||||
- **inverted** (*Optional*, boolean): If all read and written values
|
- **inverted** (*Optional*, boolean): If all read and written values
|
||||||
should be treated as inverted. Defaults to ``False``.
|
should be treated as inverted. Defaults to ``false``.
|
||||||
- **mode** (*Optional*, string): A pin mode to set for the pin at
|
- **mode** (*Optional*, string): A pin mode to set for the pin at
|
||||||
startup, corresponds to Arduino’s ``pinMode`` call.
|
startup, corresponds to Arduino’s ``pinMode`` call.
|
||||||
|
|
||||||
@ -326,7 +326,7 @@ merged with the services definitions from main config file.
|
|||||||
i2c:
|
i2c:
|
||||||
sda: GPIO21
|
sda: GPIO21
|
||||||
scl: GPIO22
|
scl: GPIO22
|
||||||
scan: True
|
scan: true
|
||||||
frequency: 100kHz
|
frequency: 100kHz
|
||||||
|
|
||||||
# Enable logging
|
# Enable logging
|
||||||
|
@ -126,7 +126,7 @@ Sensor </components/binary_sensor/gpio>`.
|
|||||||
name: "Living Room Window"
|
name: "Living Room Window"
|
||||||
pin:
|
pin:
|
||||||
number: 16
|
number: 16
|
||||||
inverted: True
|
inverted: true
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
|
|
||||||
This is an advanced feature of ESPHome. Almost all pins can
|
This is an advanced feature of ESPHome. Almost all pins can
|
||||||
|
@ -132,7 +132,7 @@ Sensor </components/binary_sensor/gpio>`.
|
|||||||
name: "Living Room Window"
|
name: "Living Room Window"
|
||||||
pin:
|
pin:
|
||||||
number: 16
|
number: 16
|
||||||
inverted: True
|
inverted: true
|
||||||
mode: INPUT_PULLUP
|
mode: INPUT_PULLUP
|
||||||
|
|
||||||
This time when installing, you don’t need to have the device plugged in
|
This time when installing, you don’t need to have the device plugged in
|
||||||
|
@ -26,7 +26,9 @@ Contributors
|
|||||||
- `Abel Matser (@abelmatser) <https://github.com/abelmatser>`__
|
- `Abel Matser (@abelmatser) <https://github.com/abelmatser>`__
|
||||||
- `Abílio Costa (@abmantis) <https://github.com/abmantis>`__
|
- `Abílio Costa (@abmantis) <https://github.com/abmantis>`__
|
||||||
- `acshef (@acshef) <https://github.com/acshef>`__
|
- `acshef (@acshef) <https://github.com/acshef>`__
|
||||||
|
- `Zhenyu Wu (@Adam5Wu) <https://github.com/Adam5Wu>`__
|
||||||
- `adamgreg (@adamgreg) <https://github.com/adamgreg>`__
|
- `adamgreg (@adamgreg) <https://github.com/adamgreg>`__
|
||||||
|
- `Chris Byrne (@adapt0) <https://github.com/adapt0>`__
|
||||||
- `Attila Darazs (@adarazs) <https://github.com/adarazs>`__
|
- `Attila Darazs (@adarazs) <https://github.com/adarazs>`__
|
||||||
- `adezerega (@adezerega) <https://github.com/adezerega>`__
|
- `adezerega (@adezerega) <https://github.com/adezerega>`__
|
||||||
- `Andrea Donno (@adonno) <https://github.com/adonno>`__
|
- `Andrea Donno (@adonno) <https://github.com/adonno>`__
|
||||||
@ -54,26 +56,33 @@ Contributors
|
|||||||
- `Andreas (@anduchs) <https://github.com/anduchs>`__
|
- `Andreas (@anduchs) <https://github.com/anduchs>`__
|
||||||
- `anekinloewe (@anekinloewe) <https://github.com/anekinloewe>`__
|
- `anekinloewe (@anekinloewe) <https://github.com/anekinloewe>`__
|
||||||
- `Vegetto (@angelnu) <https://github.com/angelnu>`__
|
- `Vegetto (@angelnu) <https://github.com/angelnu>`__
|
||||||
|
- `Sergey Anisimov (@anisimovsergey) <https://github.com/anisimovsergey>`__
|
||||||
- `ankycooper (@ankycooper) <https://github.com/ankycooper>`__
|
- `ankycooper (@ankycooper) <https://github.com/ankycooper>`__
|
||||||
- `Nikolay Vasilchuk (@Anonym-tsk) <https://github.com/Anonym-tsk>`__
|
- `Nikolay Vasilchuk (@Anonym-tsk) <https://github.com/Anonym-tsk>`__
|
||||||
- `Adriaan Peeters (@apeeters) <https://github.com/apeeters>`__
|
- `Adriaan Peeters (@apeeters) <https://github.com/apeeters>`__
|
||||||
- `Darius Ratkevičius (@aphex008) <https://github.com/aphex008>`__
|
- `Darius Ratkevičius (@aphex008) <https://github.com/aphex008>`__
|
||||||
|
- `Andy Allsopp (@arallsopp) <https://github.com/arallsopp>`__
|
||||||
|
- `arantius (@arantius) <https://github.com/arantius>`__
|
||||||
- `Ash McKenzie (@ashmckenzie) <https://github.com/ashmckenzie>`__
|
- `Ash McKenzie (@ashmckenzie) <https://github.com/ashmckenzie>`__
|
||||||
- `Pavel Pletenev (@ASMfreaK) <https://github.com/ASMfreaK>`__
|
- `Pavel Pletenev (@ASMfreaK) <https://github.com/ASMfreaK>`__
|
||||||
- `Mike Dunston (@atanisoft) <https://github.com/atanisoft>`__
|
- `Mike Dunston (@atanisoft) <https://github.com/atanisoft>`__
|
||||||
|
- `Arsène von Wyss (@avonwyss) <https://github.com/avonwyss>`__
|
||||||
- `Achilleas Pipinellis (@axilleas) <https://github.com/axilleas>`__
|
- `Achilleas Pipinellis (@axilleas) <https://github.com/axilleas>`__
|
||||||
- `Kamil Trzciński (@ayufan) <https://github.com/ayufan>`__
|
- `Kamil Trzciński (@ayufan) <https://github.com/ayufan>`__
|
||||||
- `Nicholas Peters (@Azimath) <https://github.com/Azimath>`__
|
- `Nicholas Peters (@Azimath) <https://github.com/Azimath>`__
|
||||||
- `Daniel (@azrael783) <https://github.com/azrael783>`__
|
- `Daniel (@azrael783) <https://github.com/azrael783>`__
|
||||||
- `Florian Mösch (@badbadc0ffee) <https://github.com/badbadc0ffee>`__
|
- `Florian Mösch (@badbadc0ffee) <https://github.com/badbadc0ffee>`__
|
||||||
|
- `Marco Tombesi (@baggior) <https://github.com/baggior>`__
|
||||||
- `balk77 (@balk77) <https://github.com/balk77>`__
|
- `balk77 (@balk77) <https://github.com/balk77>`__
|
||||||
- `Paulus Schoutsen (@balloob) <https://github.com/balloob>`__
|
- `Paulus Schoutsen (@balloob) <https://github.com/balloob>`__
|
||||||
- `Andrew Zaborowski (@balrog-kun) <https://github.com/balrog-kun>`__
|
- `Andrew Zaborowski (@balrog-kun) <https://github.com/balrog-kun>`__
|
||||||
- `Rutger Nijhuis (@BananaPukeh) <https://github.com/BananaPukeh>`__
|
- `Rutger Nijhuis (@BananaPukeh) <https://github.com/BananaPukeh>`__
|
||||||
- `bazuchan (@bazuchan) <https://github.com/bazuchan>`__
|
- `bazuchan (@bazuchan) <https://github.com/bazuchan>`__
|
||||||
|
- `Viktr (@BbIKTOP) <https://github.com/BbIKTOP>`__
|
||||||
- `J. Nick Koston (@bdraco) <https://github.com/bdraco>`__
|
- `J. Nick Koston (@bdraco) <https://github.com/bdraco>`__
|
||||||
- `Ben Suffolk (@bensuffolk) <https://github.com/bensuffolk>`__
|
- `Ben Suffolk (@bensuffolk) <https://github.com/bensuffolk>`__
|
||||||
- `Bierchermuesli (@Bierchermuesli) <https://github.com/Bierchermuesli>`__
|
- `Bierchermuesli (@Bierchermuesli) <https://github.com/Bierchermuesli>`__
|
||||||
|
- `JDavid (@blackhack) <https://github.com/blackhack>`__
|
||||||
- `Jim Ekman (@blejdfist) <https://github.com/blejdfist>`__
|
- `Jim Ekman (@blejdfist) <https://github.com/blejdfist>`__
|
||||||
- `Bob (@Bmooij) <https://github.com/Bmooij>`__
|
- `Bob (@Bmooij) <https://github.com/Bmooij>`__
|
||||||
- `Mauricio Bonani (@bonanitech) <https://github.com/bonanitech>`__
|
- `Mauricio Bonani (@bonanitech) <https://github.com/bonanitech>`__
|
||||||
@ -85,11 +94,13 @@ Contributors
|
|||||||
- `Brad Davidson (@brandond) <https://github.com/brandond>`__
|
- `Brad Davidson (@brandond) <https://github.com/brandond>`__
|
||||||
- `Brian Hanifin (@brianhanifin) <https://github.com/brianhanifin>`__
|
- `Brian Hanifin (@brianhanifin) <https://github.com/brianhanifin>`__
|
||||||
- `brianrjones69 (@brianrjones69) <https://github.com/brianrjones69>`__
|
- `brianrjones69 (@brianrjones69) <https://github.com/brianrjones69>`__
|
||||||
|
- `buddydvd (@buddydvd) <https://github.com/buddydvd>`__
|
||||||
- `buxtronix (@buxtronix) <https://github.com/buxtronix>`__
|
- `buxtronix (@buxtronix) <https://github.com/buxtronix>`__
|
||||||
- `bvansambeek (@bvansambeek) <https://github.com/bvansambeek>`__
|
- `bvansambeek (@bvansambeek) <https://github.com/bvansambeek>`__
|
||||||
- `bwente (@bwente) <https://github.com/bwente>`__
|
- `bwente (@bwente) <https://github.com/bwente>`__
|
||||||
- `Carlos Gustavo Sarmiento (@carlos-sarmiento) <https://github.com/carlos-sarmiento>`__
|
- `Carlos Gustavo Sarmiento (@carlos-sarmiento) <https://github.com/carlos-sarmiento>`__
|
||||||
- `Carlos Garcia Saura (@CarlosGS) <https://github.com/CarlosGS>`__
|
- `Carlos Garcia Saura (@CarlosGS) <https://github.com/CarlosGS>`__
|
||||||
|
- `Carlos Ruiz (@CarlosRDomin) <https://github.com/CarlosRDomin>`__
|
||||||
- `carstenschroeder (@carstenschroeder) <https://github.com/carstenschroeder>`__
|
- `carstenschroeder (@carstenschroeder) <https://github.com/carstenschroeder>`__
|
||||||
- `cbialobos (@cbialobos) <https://github.com/cbialobos>`__
|
- `cbialobos (@cbialobos) <https://github.com/cbialobos>`__
|
||||||
- `Ciprian Constantinescu (@cciprian5) <https://github.com/cciprian5>`__
|
- `Ciprian Constantinescu (@cciprian5) <https://github.com/cciprian5>`__
|
||||||
@ -98,6 +109,7 @@ Contributors
|
|||||||
- `Pavel Skuratovich (@Chupaka) <https://github.com/Chupaka>`__
|
- `Pavel Skuratovich (@Chupaka) <https://github.com/Chupaka>`__
|
||||||
- `John (@CircuitSetup) <https://github.com/CircuitSetup>`__
|
- `John (@CircuitSetup) <https://github.com/CircuitSetup>`__
|
||||||
- `Chris Debenham (@cjd) <https://github.com/cjd>`__
|
- `Chris Debenham (@cjd) <https://github.com/cjd>`__
|
||||||
|
- `CODeRUS (@CODeRUS) <https://github.com/CODeRUS>`__
|
||||||
- `Cody James (@codyjamestechnical) <https://github.com/codyjamestechnical>`__
|
- `Cody James (@codyjamestechnical) <https://github.com/codyjamestechnical>`__
|
||||||
- `John Coggeshall (@coogle) <https://github.com/coogle>`__
|
- `John Coggeshall (@coogle) <https://github.com/coogle>`__
|
||||||
- `James Crook (@cooljimy84) <https://github.com/cooljimy84>`__
|
- `James Crook (@cooljimy84) <https://github.com/cooljimy84>`__
|
||||||
@ -135,8 +147,10 @@ Contributors
|
|||||||
- `Rsan (@deltazerorsan) <https://github.com/deltazerorsan>`__
|
- `Rsan (@deltazerorsan) <https://github.com/deltazerorsan>`__
|
||||||
- `Mickaël Le Baillif (@demikl) <https://github.com/demikl>`__
|
- `Mickaël Le Baillif (@demikl) <https://github.com/demikl>`__
|
||||||
- `dentra (@dentra) <https://github.com/dentra>`__
|
- `dentra (@dentra) <https://github.com/dentra>`__
|
||||||
|
- `Davide Depau (@Depau) <https://github.com/Depau>`__
|
||||||
- `dependabot[bot] (@dependabot[bot]) <https://github.com/dependabot[bot]>`__
|
- `dependabot[bot] (@dependabot[bot]) <https://github.com/dependabot[bot]>`__
|
||||||
- `Destix (@Destix) <https://github.com/Destix>`__
|
- `Destix (@Destix) <https://github.com/Destix>`__
|
||||||
|
- `Develo (@devyte) <https://github.com/devyte>`__
|
||||||
- `Dezorian (@Dezorian) <https://github.com/Dezorian>`__
|
- `Dezorian (@Dezorian) <https://github.com/Dezorian>`__
|
||||||
- `Alain Turbide (@Dilbert66) <https://github.com/Dilbert66>`__
|
- `Alain Turbide (@Dilbert66) <https://github.com/Dilbert66>`__
|
||||||
- `Mark (@Diramu) <https://github.com/Diramu>`__
|
- `Mark (@Diramu) <https://github.com/Diramu>`__
|
||||||
@ -157,6 +171,7 @@ Contributors
|
|||||||
- `DrRob (@DrRob) <https://github.com/DrRob>`__
|
- `DrRob (@DrRob) <https://github.com/DrRob>`__
|
||||||
- `dubit0 (@dubit0) <https://github.com/dubit0>`__
|
- `dubit0 (@dubit0) <https://github.com/dubit0>`__
|
||||||
- `Sergey V. DUDANOV (@dudanov) <https://github.com/dudanov>`__
|
- `Sergey V. DUDANOV (@dudanov) <https://github.com/dudanov>`__
|
||||||
|
- `dyarkovoy (@dyarkovoy) <https://github.com/dyarkovoy>`__
|
||||||
- `Dimitris Zervas (@dzervas) <https://github.com/dzervas>`__
|
- `Dimitris Zervas (@dzervas) <https://github.com/dzervas>`__
|
||||||
- `dziobson (@dziobson) <https://github.com/dziobson>`__
|
- `dziobson (@dziobson) <https://github.com/dziobson>`__
|
||||||
- `Dan Jackson (@e28eta) <https://github.com/e28eta>`__
|
- `Dan Jackson (@e28eta) <https://github.com/e28eta>`__
|
||||||
@ -184,6 +199,7 @@ Contributors
|
|||||||
- `escoand (@escoand) <https://github.com/escoand>`__
|
- `escoand (@escoand) <https://github.com/escoand>`__
|
||||||
- `esphomebot (@esphomebot) <https://github.com/esphomebot>`__
|
- `esphomebot (@esphomebot) <https://github.com/esphomebot>`__
|
||||||
- `Evan Coleman (@evandcoleman) <https://github.com/evandcoleman>`__
|
- `Evan Coleman (@evandcoleman) <https://github.com/evandcoleman>`__
|
||||||
|
- `Clemens Kirchgatterer (@everslick) <https://github.com/everslick>`__
|
||||||
- `Malte Franken (@exxamalte) <https://github.com/exxamalte>`__
|
- `Malte Franken (@exxamalte) <https://github.com/exxamalte>`__
|
||||||
- `Fabian Affolter (@fabaff) <https://github.com/fabaff>`__
|
- `Fabian Affolter (@fabaff) <https://github.com/fabaff>`__
|
||||||
- `C W (@fake-name) <https://github.com/fake-name>`__
|
- `C W (@fake-name) <https://github.com/fake-name>`__
|
||||||
@ -201,6 +217,7 @@ Contributors
|
|||||||
- `Evgeny (@freekode) <https://github.com/freekode>`__
|
- `Evgeny (@freekode) <https://github.com/freekode>`__
|
||||||
- `Brett McKenzie (@freerangeeggs) <https://github.com/freerangeeggs>`__
|
- `Brett McKenzie (@freerangeeggs) <https://github.com/freerangeeggs>`__
|
||||||
- `Franck Nijhof (@frenck) <https://github.com/frenck>`__
|
- `Franck Nijhof (@frenck) <https://github.com/frenck>`__
|
||||||
|
- `frippe75 (@frippe75) <https://github.com/frippe75>`__
|
||||||
- `Fritz Mueller (@fritzm) <https://github.com/fritzm>`__
|
- `Fritz Mueller (@fritzm) <https://github.com/fritzm>`__
|
||||||
- `Marc Egli (@frog32) <https://github.com/frog32>`__
|
- `Marc Egli (@frog32) <https://github.com/frog32>`__
|
||||||
- `mr G1K (@G1K) <https://github.com/G1K>`__
|
- `mr G1K (@G1K) <https://github.com/G1K>`__
|
||||||
@ -209,6 +226,7 @@ Contributors
|
|||||||
- `galagaking (@galagaking) <https://github.com/galagaking>`__
|
- `galagaking (@galagaking) <https://github.com/galagaking>`__
|
||||||
- `GeekVisit (@GeekVisit) <https://github.com/GeekVisit>`__
|
- `GeekVisit (@GeekVisit) <https://github.com/GeekVisit>`__
|
||||||
- `Geoff Davis (@geoffdavis) <https://github.com/geoffdavis>`__
|
- `Geoff Davis (@geoffdavis) <https://github.com/geoffdavis>`__
|
||||||
|
- `Gérald Guiony (@gerald-guiony) <https://github.com/gerald-guiony>`__
|
||||||
- `Gerard (@gerard33) <https://github.com/gerard33>`__
|
- `Gerard (@gerard33) <https://github.com/gerard33>`__
|
||||||
- `Giovanni (@Gio-dot) <https://github.com/Gio-dot>`__
|
- `Giovanni (@Gio-dot) <https://github.com/Gio-dot>`__
|
||||||
- `github-actions[bot] (@github-actions[bot]) <https://github.com/github-actions[bot]>`__
|
- `github-actions[bot] (@github-actions[bot]) <https://github.com/github-actions[bot]>`__
|
||||||
@ -217,6 +235,7 @@ Contributors
|
|||||||
- `Frederik Gladhorn (@gladhorn) <https://github.com/gladhorn>`__
|
- `Frederik Gladhorn (@gladhorn) <https://github.com/gladhorn>`__
|
||||||
- `Guillermo Ruffino (@glmnet) <https://github.com/glmnet>`__
|
- `Guillermo Ruffino (@glmnet) <https://github.com/glmnet>`__
|
||||||
- `Giorgos Logiotatidis (@glogiotatidis) <https://github.com/glogiotatidis>`__
|
- `Giorgos Logiotatidis (@glogiotatidis) <https://github.com/glogiotatidis>`__
|
||||||
|
- `Germán Martín (@gmag11) <https://github.com/gmag11>`__
|
||||||
- `Germain Masse (@gmasse) <https://github.com/gmasse>`__
|
- `Germain Masse (@gmasse) <https://github.com/gmasse>`__
|
||||||
- `Jelle Raaijmakers (@GMTA) <https://github.com/GMTA>`__
|
- `Jelle Raaijmakers (@GMTA) <https://github.com/GMTA>`__
|
||||||
- `gordon-zhao (@gordon-zhao) <https://github.com/gordon-zhao>`__
|
- `gordon-zhao (@gordon-zhao) <https://github.com/gordon-zhao>`__
|
||||||
@ -228,17 +247,23 @@ Contributors
|
|||||||
- `h0-- (@h0--) <https://github.com/h0-->`__
|
- `h0-- (@h0--) <https://github.com/h0-->`__
|
||||||
- `haade (@haade-administrator) <https://github.com/haade-administrator>`__
|
- `haade (@haade-administrator) <https://github.com/haade-administrator>`__
|
||||||
- `Peter van Dijk (@Habbie) <https://github.com/Habbie>`__
|
- `Peter van Dijk (@Habbie) <https://github.com/Habbie>`__
|
||||||
|
- `Hagai Shatz (@hagai-shatz) <https://github.com/hagai-shatz>`__
|
||||||
- `Boris Hajduk (@hajdbo) <https://github.com/hajdbo>`__
|
- `Boris Hajduk (@hajdbo) <https://github.com/hajdbo>`__
|
||||||
- `Gavin Mogan (@halkeye) <https://github.com/halkeye>`__
|
- `Gavin Mogan (@halkeye) <https://github.com/halkeye>`__
|
||||||
|
- `Charles (@hallard) <https://github.com/hallard>`__
|
||||||
- `Charles Thompson (@haryadoon) <https://github.com/haryadoon>`__
|
- `Charles Thompson (@haryadoon) <https://github.com/haryadoon>`__
|
||||||
- `hcoohb (@hcoohb) <https://github.com/hcoohb>`__
|
- `hcoohb (@hcoohb) <https://github.com/hcoohb>`__
|
||||||
- `Héctor Giménez (@hectorgimenez) <https://github.com/hectorgimenez>`__
|
- `Héctor Giménez (@hectorgimenez) <https://github.com/hectorgimenez>`__
|
||||||
- `Jimmy Hedman (@HeMan) <https://github.com/HeMan>`__
|
- `Jimmy Hedman (@HeMan) <https://github.com/HeMan>`__
|
||||||
- `HepoH3 (@HepoH3) <https://github.com/HepoH3>`__
|
- `HepoH3 (@HepoH3) <https://github.com/HepoH3>`__
|
||||||
|
- `Hermann Kraus (@herm) <https://github.com/herm>`__
|
||||||
- `Hamish Moffatt (@hmoffatt) <https://github.com/hmoffatt>`__
|
- `Hamish Moffatt (@hmoffatt) <https://github.com/hmoffatt>`__
|
||||||
- `MoA (@honomoa) <https://github.com/honomoa>`__
|
- `MoA (@honomoa) <https://github.com/honomoa>`__
|
||||||
|
- `Hopperpop (@Hopperpop) <https://github.com/Hopperpop>`__
|
||||||
|
- `hreintke (@hreintke) <https://github.com/hreintke>`__
|
||||||
- `Huub Eikens (@huubeikens) <https://github.com/huubeikens>`__
|
- `Huub Eikens (@huubeikens) <https://github.com/huubeikens>`__
|
||||||
- `Petr Urbánek (@HyperReap) <https://github.com/HyperReap>`__
|
- `Petr Urbánek (@HyperReap) <https://github.com/HyperReap>`__
|
||||||
|
- `Arjan Filius (@iafilius) <https://github.com/iafilius>`__
|
||||||
- `Adrián Panella (@ianchi) <https://github.com/ianchi>`__
|
- `Adrián Panella (@ianchi) <https://github.com/ianchi>`__
|
||||||
- `Ian Leeder (@ianleeder) <https://github.com/ianleeder>`__
|
- `Ian Leeder (@ianleeder) <https://github.com/ianleeder>`__
|
||||||
- `icarome (@icarome) <https://github.com/icarome>`__
|
- `icarome (@icarome) <https://github.com/icarome>`__
|
||||||
@ -262,6 +287,7 @@ Contributors
|
|||||||
- `Joshua Dadswell (@jdads1) <https://github.com/jdads1>`__
|
- `Joshua Dadswell (@jdads1) <https://github.com/jdads1>`__
|
||||||
- `jeff-h (@jeff-h) <https://github.com/jeff-h>`__
|
- `jeff-h (@jeff-h) <https://github.com/jeff-h>`__
|
||||||
- `Jeff Rescignano (@JeffResc) <https://github.com/JeffResc>`__
|
- `Jeff Rescignano (@JeffResc) <https://github.com/JeffResc>`__
|
||||||
|
- `Jej (@jej) <https://github.com/jej>`__
|
||||||
- `Jesse Hills (@jesserockz) <https://github.com/jesserockz>`__
|
- `Jesse Hills (@jesserockz) <https://github.com/jesserockz>`__
|
||||||
- `Jim Bauwens (@jimbauwens) <https://github.com/jimbauwens>`__
|
- `Jim Bauwens (@jimbauwens) <https://github.com/jimbauwens>`__
|
||||||
- `Jérémy JOURDIN (@JJK801) <https://github.com/JJK801>`__
|
- `Jérémy JOURDIN (@JJK801) <https://github.com/JJK801>`__
|
||||||
@ -286,6 +312,7 @@ Contributors
|
|||||||
- `Jack Wozny (@jwozny) <https://github.com/jwozny>`__
|
- `Jack Wozny (@jwozny) <https://github.com/jwozny>`__
|
||||||
- `Kris (@K-r-i-s-t-i-a-n) <https://github.com/K-r-i-s-t-i-a-n>`__
|
- `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>`__
|
- `Harald Nagel (@k7hpn) <https://github.com/k7hpn>`__
|
||||||
|
- `kaegi (@kaegi) <https://github.com/kaegi>`__
|
||||||
- `kalebzettl (@kalebzettl) <https://github.com/kalebzettl>`__
|
- `kalebzettl (@kalebzettl) <https://github.com/kalebzettl>`__
|
||||||
- `Krasimir Nedelchev (@kaykayehnn) <https://github.com/kaykayehnn>`__
|
- `Krasimir Nedelchev (@kaykayehnn) <https://github.com/kaykayehnn>`__
|
||||||
- `kbouchard111 (@kbouchard111) <https://github.com/kbouchard111>`__
|
- `kbouchard111 (@kbouchard111) <https://github.com/kbouchard111>`__
|
||||||
@ -296,6 +323,7 @@ Contributors
|
|||||||
- `Kurt Kellner (@kkellner) <https://github.com/kkellner>`__
|
- `Kurt Kellner (@kkellner) <https://github.com/kkellner>`__
|
||||||
- `Klaas Schoute (@klaasnicolaas) <https://github.com/klaasnicolaas>`__
|
- `Klaas Schoute (@klaasnicolaas) <https://github.com/klaasnicolaas>`__
|
||||||
- `Klarstein (@Klarstein) <https://github.com/Klarstein>`__
|
- `Klarstein (@Klarstein) <https://github.com/Klarstein>`__
|
||||||
|
- `Marcus Klein (@kleini) <https://github.com/kleini>`__
|
||||||
- `klenaers (@klenaers) <https://github.com/klenaers>`__
|
- `klenaers (@klenaers) <https://github.com/klenaers>`__
|
||||||
- `Kevin Lewis (@kll) <https://github.com/kll>`__
|
- `Kevin Lewis (@kll) <https://github.com/kll>`__
|
||||||
- `Koen Vervloesem (@koenvervloesem) <https://github.com/koenvervloesem>`__
|
- `Koen Vervloesem (@koenvervloesem) <https://github.com/koenvervloesem>`__
|
||||||
@ -335,6 +363,7 @@ Contributors
|
|||||||
- `magnus (@magnusja) <https://github.com/magnusja>`__
|
- `magnus (@magnusja) <https://github.com/magnusja>`__
|
||||||
- `Magnus Øverli (@magnusoverli) <https://github.com/magnusoverli>`__
|
- `Magnus Øverli (@magnusoverli) <https://github.com/magnusoverli>`__
|
||||||
- `Major Péter (@majorpeter) <https://github.com/majorpeter>`__
|
- `Major Péter (@majorpeter) <https://github.com/majorpeter>`__
|
||||||
|
- `raymonder jin (@mamil) <https://github.com/mamil>`__
|
||||||
- `Manuel Díez (@manutenfruits) <https://github.com/manutenfruits>`__
|
- `Manuel Díez (@manutenfruits) <https://github.com/manutenfruits>`__
|
||||||
- `Marcel van der Veldt (@marcelveldt) <https://github.com/marcelveldt>`__
|
- `Marcel van der Veldt (@marcelveldt) <https://github.com/marcelveldt>`__
|
||||||
- `Marc (@MarcHagen) <https://github.com/MarcHagen>`__
|
- `Marc (@MarcHagen) <https://github.com/MarcHagen>`__
|
||||||
@ -354,11 +383,13 @@ Contributors
|
|||||||
- `Maurice Schleußinger (@maurice-schleussinger) <https://github.com/maurice-schleussinger>`__
|
- `Maurice Schleußinger (@maurice-schleussinger) <https://github.com/maurice-schleussinger>`__
|
||||||
- `mbo18 (@mbo18) <https://github.com/mbo18>`__
|
- `mbo18 (@mbo18) <https://github.com/mbo18>`__
|
||||||
- `Me No Dev (@me-no-dev) <https://github.com/me-no-dev>`__
|
- `Me No Dev (@me-no-dev) <https://github.com/me-no-dev>`__
|
||||||
|
- `Alexandr Zarubkin (@me21) <https://github.com/me21>`__
|
||||||
- `Joseph Mearman (@Mearman) <https://github.com/Mearman>`__
|
- `Joseph Mearman (@Mearman) <https://github.com/Mearman>`__
|
||||||
- `Mechotronic (@Mechotronic) <https://github.com/Mechotronic>`__
|
- `Mechotronic (@Mechotronic) <https://github.com/Mechotronic>`__
|
||||||
- `MeIchthys (@meichthys) <https://github.com/meichthys>`__
|
- `MeIchthys (@meichthys) <https://github.com/meichthys>`__
|
||||||
- `meijerwynand (@meijerwynand) <https://github.com/meijerwynand>`__
|
- `meijerwynand (@meijerwynand) <https://github.com/meijerwynand>`__
|
||||||
- `Marco (@Melkor82) <https://github.com/Melkor82>`__
|
- `Marco (@Melkor82) <https://github.com/Melkor82>`__
|
||||||
|
- `Merlin Schumacher (@merlinschumacher) <https://github.com/merlinschumacher>`__
|
||||||
- `Michael Gorven (@mgorven) <https://github.com/mgorven>`__
|
- `Michael Gorven (@mgorven) <https://github.com/mgorven>`__
|
||||||
- `mhentschke (@mhentschke) <https://github.com/mhentschke>`__
|
- `mhentschke (@mhentschke) <https://github.com/mhentschke>`__
|
||||||
- `micw (@micw) <https://github.com/micw>`__
|
- `micw (@micw) <https://github.com/micw>`__
|
||||||
@ -380,6 +411,7 @@ Contributors
|
|||||||
- `monkeyclass (@monkeyclass) <https://github.com/monkeyclass>`__
|
- `monkeyclass (@monkeyclass) <https://github.com/monkeyclass>`__
|
||||||
- `Moritz Glöckl (@moritzgloeckl) <https://github.com/moritzgloeckl>`__
|
- `Moritz Glöckl (@moritzgloeckl) <https://github.com/moritzgloeckl>`__
|
||||||
- `Matthew Pettitt (@mpettitt) <https://github.com/mpettitt>`__
|
- `Matthew Pettitt (@mpettitt) <https://github.com/mpettitt>`__
|
||||||
|
- `Mariusz Kryński (@mrk-its) <https://github.com/mrk-its>`__
|
||||||
- `Ryan Matthews (@mrrsm) <https://github.com/mrrsm>`__
|
- `Ryan Matthews (@mrrsm) <https://github.com/mrrsm>`__
|
||||||
- `MrZetor (@MrZetor) <https://github.com/MrZetor>`__
|
- `MrZetor (@MrZetor) <https://github.com/MrZetor>`__
|
||||||
- `mtl010957 (@mtl010957) <https://github.com/mtl010957>`__
|
- `mtl010957 (@mtl010957) <https://github.com/mtl010957>`__
|
||||||
@ -407,14 +439,17 @@ Contributors
|
|||||||
- `Jan Sandbrink (@NobodysNightmare) <https://github.com/NobodysNightmare>`__
|
- `Jan Sandbrink (@NobodysNightmare) <https://github.com/NobodysNightmare>`__
|
||||||
- `ffabi (@norges) <https://github.com/norges>`__
|
- `ffabi (@norges) <https://github.com/norges>`__
|
||||||
- `Greg Johnson (@notgwj) <https://github.com/notgwj>`__
|
- `Greg Johnson (@notgwj) <https://github.com/notgwj>`__
|
||||||
|
- `nouser2013 (@nouser2013) <https://github.com/nouser2013>`__
|
||||||
- `Stanislav Meduna (@numo68) <https://github.com/numo68>`__
|
- `Stanislav Meduna (@numo68) <https://github.com/numo68>`__
|
||||||
- `Nuno Sousa (@nunofgs) <https://github.com/nunofgs>`__
|
- `Nuno Sousa (@nunofgs) <https://github.com/nunofgs>`__
|
||||||
|
- `Maksym Lunin (@nut-code-monkey) <https://github.com/nut-code-monkey>`__
|
||||||
- `Chris Nussbaum (@nuttytree) <https://github.com/nuttytree>`__
|
- `Chris Nussbaum (@nuttytree) <https://github.com/nuttytree>`__
|
||||||
- `obrain17 (@obrain17) <https://github.com/obrain17>`__
|
- `obrain17 (@obrain17) <https://github.com/obrain17>`__
|
||||||
- `Ockert Marais (@OckertM) <https://github.com/OckertM>`__
|
- `Ockert Marais (@OckertM) <https://github.com/OckertM>`__
|
||||||
- `Dave Walker (@oddsockmachine) <https://github.com/oddsockmachine>`__
|
- `Dave Walker (@oddsockmachine) <https://github.com/oddsockmachine>`__
|
||||||
- `Olivér Falvai (@ofalvai) <https://github.com/ofalvai>`__
|
- `Olivér Falvai (@ofalvai) <https://github.com/ofalvai>`__
|
||||||
- `Omar Ghader (@omarghader) <https://github.com/omarghader>`__
|
- `Omar Ghader (@omarghader) <https://github.com/omarghader>`__
|
||||||
|
- `Ömer Şiar Baysal (@omersiar) <https://github.com/omersiar>`__
|
||||||
- `Oncleben31 (@oncleben31) <https://github.com/oncleben31>`__
|
- `Oncleben31 (@oncleben31) <https://github.com/oncleben31>`__
|
||||||
- `onde2rock (@onde2rock) <https://github.com/onde2rock>`__
|
- `onde2rock (@onde2rock) <https://github.com/onde2rock>`__
|
||||||
- `Oscar Bolmsten (@oscar-b) <https://github.com/oscar-b>`__
|
- `Oscar Bolmsten (@oscar-b) <https://github.com/oscar-b>`__
|
||||||
@ -422,7 +457,9 @@ Contributors
|
|||||||
- `Otto Winter (@OttoWinter) <https://github.com/OttoWinter>`__
|
- `Otto Winter (@OttoWinter) <https://github.com/OttoWinter>`__
|
||||||
- `Oxan van Leeuwen (@oxan) <https://github.com/oxan>`__
|
- `Oxan van Leeuwen (@oxan) <https://github.com/oxan>`__
|
||||||
- `Pack3tL0ss (@Pack3tL0ss) <https://github.com/Pack3tL0ss>`__
|
- `Pack3tL0ss (@Pack3tL0ss) <https://github.com/Pack3tL0ss>`__
|
||||||
|
- `Pablo Clemente Maseda (@paclema) <https://github.com/paclema>`__
|
||||||
- `Panuruj Khambanonda (PK) (@panuruj) <https://github.com/panuruj>`__
|
- `Panuruj Khambanonda (PK) (@panuruj) <https://github.com/panuruj>`__
|
||||||
|
- `Pasi Suominen (@pasiz) <https://github.com/pasiz>`__
|
||||||
- `Paul Deen (@PaulAntonDeen) <https://github.com/PaulAntonDeen>`__
|
- `Paul Deen (@PaulAntonDeen) <https://github.com/PaulAntonDeen>`__
|
||||||
- `Paul Nicholls (@pauln) <https://github.com/pauln>`__
|
- `Paul Nicholls (@pauln) <https://github.com/pauln>`__
|
||||||
- `Bartłomiej Biernacki (@pax0r) <https://github.com/pax0r>`__
|
- `Bartłomiej Biernacki (@pax0r) <https://github.com/pax0r>`__
|
||||||
@ -442,15 +479,19 @@ Contributors
|
|||||||
- `DK (@poldim) <https://github.com/poldim>`__
|
- `DK (@poldim) <https://github.com/poldim>`__
|
||||||
- `polyfaces (@polyfaces) <https://github.com/polyfaces>`__
|
- `polyfaces (@polyfaces) <https://github.com/polyfaces>`__
|
||||||
- `Iván Povedano (@pove) <https://github.com/pove>`__
|
- `Iván Povedano (@pove) <https://github.com/pove>`__
|
||||||
|
- `pplucky (@pplucky) <https://github.com/pplucky>`__
|
||||||
|
- `probonopd (@probonopd) <https://github.com/probonopd>`__
|
||||||
- `Peter Stuifzand (@pstuifzand) <https://github.com/pstuifzand>`__
|
- `Peter Stuifzand (@pstuifzand) <https://github.com/pstuifzand>`__
|
||||||
- `Peter Tatrai (@ptatrai) <https://github.com/ptatrai>`__
|
- `Peter Tatrai (@ptatrai) <https://github.com/ptatrai>`__
|
||||||
- `Leandro Puerari (@puerari) <https://github.com/puerari>`__
|
- `Leandro Puerari (@puerari) <https://github.com/puerari>`__
|
||||||
- `puuu (@puuu) <https://github.com/puuu>`__
|
- `puuu (@puuu) <https://github.com/puuu>`__
|
||||||
|
- `Qc (@qc24) <https://github.com/qc24>`__
|
||||||
- `Karol Zlot (@qqgg231) <https://github.com/qqgg231>`__
|
- `Karol Zlot (@qqgg231) <https://github.com/qqgg231>`__
|
||||||
- `Tommy Jonsson (@quazzie) <https://github.com/quazzie>`__
|
- `Tommy Jonsson (@quazzie) <https://github.com/quazzie>`__
|
||||||
- `Quinn Hosler (@quinnhosler) <https://github.com/quinnhosler>`__
|
- `Quinn Hosler (@quinnhosler) <https://github.com/quinnhosler>`__
|
||||||
- `r-jordan (@r-jordan) <https://github.com/r-jordan>`__
|
- `r-jordan (@r-jordan) <https://github.com/r-jordan>`__
|
||||||
- `Richard Kuhnt (@r15ch13) <https://github.com/r15ch13>`__
|
- `Richard Kuhnt (@r15ch13) <https://github.com/r15ch13>`__
|
||||||
|
- `Richard Miles (@r89m) <https://github.com/r89m>`__
|
||||||
- `Pär Stålberg (@rabbadab) <https://github.com/rabbadab>`__
|
- `Pär Stålberg (@rabbadab) <https://github.com/rabbadab>`__
|
||||||
- `Florian Ragwitz (@rafl) <https://github.com/rafl>`__
|
- `Florian Ragwitz (@rafl) <https://github.com/rafl>`__
|
||||||
- `rbaron (@rbaron) <https://github.com/rbaron>`__
|
- `rbaron (@rbaron) <https://github.com/rbaron>`__
|
||||||
@ -463,6 +504,7 @@ Contributors
|
|||||||
- `Rich Foley (@RichFoley) <https://github.com/RichFoley>`__
|
- `Rich Foley (@RichFoley) <https://github.com/RichFoley>`__
|
||||||
- `Richard Lewis (@richrd) <https://github.com/richrd>`__
|
- `Richard Lewis (@richrd) <https://github.com/richrd>`__
|
||||||
- `Rico van Genugten (@ricovangenugten) <https://github.com/ricovangenugten>`__
|
- `Rico van Genugten (@ricovangenugten) <https://github.com/ricovangenugten>`__
|
||||||
|
- `rjlexx (@rjlexx) <https://github.com/rjlexx>`__
|
||||||
- `rjmurph2241 (@rjmurph2241) <https://github.com/rjmurph2241>`__
|
- `rjmurph2241 (@rjmurph2241) <https://github.com/rjmurph2241>`__
|
||||||
- `René Klomp (@rklomp) <https://github.com/rklomp>`__
|
- `René Klomp (@rklomp) <https://github.com/rklomp>`__
|
||||||
- `rlowens (@rlowens) <https://github.com/rlowens>`__
|
- `rlowens (@rlowens) <https://github.com/rlowens>`__
|
||||||
@ -487,6 +529,7 @@ Contributors
|
|||||||
- `ryanalden (@ryanalden) <https://github.com/ryanalden>`__
|
- `ryanalden (@ryanalden) <https://github.com/ryanalden>`__
|
||||||
- `Ryan Nazaretian (@ryannazaretian) <https://github.com/ryannazaretian>`__
|
- `Ryan Nazaretian (@ryannazaretian) <https://github.com/ryannazaretian>`__
|
||||||
- `samnewman86 (@samnewman86) <https://github.com/samnewman86>`__
|
- `samnewman86 (@samnewman86) <https://github.com/samnewman86>`__
|
||||||
|
- `sascha lammers (@sascha432) <https://github.com/sascha432>`__
|
||||||
- `Sascha (@Scarbous) <https://github.com/Scarbous>`__
|
- `Sascha (@Scarbous) <https://github.com/Scarbous>`__
|
||||||
- `Nils Schulte (@Schnilz) <https://github.com/Schnilz>`__
|
- `Nils Schulte (@Schnilz) <https://github.com/Schnilz>`__
|
||||||
- `Ville Skyttä (@scop) <https://github.com/scop>`__
|
- `Ville Skyttä (@scop) <https://github.com/scop>`__
|
||||||
@ -498,6 +541,7 @@ Contributors
|
|||||||
- `Emanuele Tessore (@setola) <https://github.com/setola>`__
|
- `Emanuele Tessore (@setola) <https://github.com/setola>`__
|
||||||
- `Abdelkader Boudih (@seuros) <https://github.com/seuros>`__
|
- `Abdelkader Boudih (@seuros) <https://github.com/seuros>`__
|
||||||
- `shaeed (@shaeed) <https://github.com/shaeed>`__
|
- `shaeed (@shaeed) <https://github.com/shaeed>`__
|
||||||
|
- `SharkSharp (@SharkSharp) <https://github.com/SharkSharp>`__
|
||||||
- `shbatm (@shbatm) <https://github.com/shbatm>`__
|
- `shbatm (@shbatm) <https://github.com/shbatm>`__
|
||||||
- `sherbang (@sherbang) <https://github.com/sherbang>`__
|
- `sherbang (@sherbang) <https://github.com/sherbang>`__
|
||||||
- `Shish (@shish) <https://github.com/shish>`__
|
- `Shish (@shish) <https://github.com/shish>`__
|
||||||
@ -519,6 +563,7 @@ Contributors
|
|||||||
- `St4n (@St4n) <https://github.com/St4n>`__
|
- `St4n (@St4n) <https://github.com/St4n>`__
|
||||||
- `starwolf73 (@starwolf73) <https://github.com/starwolf73>`__
|
- `starwolf73 (@starwolf73) <https://github.com/starwolf73>`__
|
||||||
- `Steve Baxter (@stevebaxter) <https://github.com/stevebaxter>`__
|
- `Steve Baxter (@stevebaxter) <https://github.com/stevebaxter>`__
|
||||||
|
- `sticilface (@sticilface) <https://github.com/sticilface>`__
|
||||||
- `stubs12 (@stubs12) <https://github.com/stubs12>`__
|
- `stubs12 (@stubs12) <https://github.com/stubs12>`__
|
||||||
- `Jordan Vohwinkel (@sublime93) <https://github.com/sublime93>`__
|
- `Jordan Vohwinkel (@sublime93) <https://github.com/sublime93>`__
|
||||||
- `Marcel Feix (@Syndlex) <https://github.com/Syndlex>`__
|
- `Marcel Feix (@Syndlex) <https://github.com/Syndlex>`__
|
||||||
@ -530,6 +575,7 @@ Contributors
|
|||||||
- `Team Super Panda (@teamsuperpanda) <https://github.com/teamsuperpanda>`__
|
- `Team Super Panda (@teamsuperpanda) <https://github.com/teamsuperpanda>`__
|
||||||
- `teffcz (@teffcz) <https://github.com/teffcz>`__
|
- `teffcz (@teffcz) <https://github.com/teffcz>`__
|
||||||
- `testbughub (@testbughub) <https://github.com/testbughub>`__
|
- `testbughub (@testbughub) <https://github.com/testbughub>`__
|
||||||
|
- `Greg Lincoln (@tetious) <https://github.com/tetious>`__
|
||||||
- `The Impaler (@the-impaler) <https://github.com/the-impaler>`__
|
- `The Impaler (@the-impaler) <https://github.com/the-impaler>`__
|
||||||
- `Nejc (@thedexboy) <https://github.com/thedexboy>`__
|
- `Nejc (@thedexboy) <https://github.com/thedexboy>`__
|
||||||
- `Thomas Eckerstorfer (@TheEggi) <https://github.com/TheEggi>`__
|
- `Thomas Eckerstorfer (@TheEggi) <https://github.com/TheEggi>`__
|
||||||
@ -562,10 +608,13 @@ Contributors
|
|||||||
- `David Kiliani (@torfbolt) <https://github.com/torfbolt>`__
|
- `David Kiliani (@torfbolt) <https://github.com/torfbolt>`__
|
||||||
- `Torwag (@torwag) <https://github.com/torwag>`__
|
- `Torwag (@torwag) <https://github.com/torwag>`__
|
||||||
- `Felix Eckhofer (@tribut) <https://github.com/tribut>`__
|
- `Felix Eckhofer (@tribut) <https://github.com/tribut>`__
|
||||||
|
- `Tobias (@tripplet) <https://github.com/tripplet>`__
|
||||||
- `Troon (@Troon) <https://github.com/Troon>`__
|
- `Troon (@Troon) <https://github.com/Troon>`__
|
||||||
- `truglodite (@truglodite) <https://github.com/truglodite>`__
|
- `truglodite (@truglodite) <https://github.com/truglodite>`__
|
||||||
- `Trevor North (@trvrnrth) <https://github.com/trvrnrth>`__
|
- `Trevor North (@trvrnrth) <https://github.com/trvrnrth>`__
|
||||||
|
- `Trygve Laugstøl (@trygvis) <https://github.com/trygvis>`__
|
||||||
- `Gediminas Šaltenis (@trylika) <https://github.com/trylika>`__
|
- `Gediminas Šaltenis (@trylika) <https://github.com/trylika>`__
|
||||||
|
- `Tuan (@tuanpmt) <https://github.com/tuanpmt>`__
|
||||||
- `tubalainen (@tubalainen) <https://github.com/tubalainen>`__
|
- `tubalainen (@tubalainen) <https://github.com/tubalainen>`__
|
||||||
- `Tuckie (@Tuckie) <https://github.com/Tuckie>`__
|
- `Tuckie (@Tuckie) <https://github.com/Tuckie>`__
|
||||||
- `Alexey Vlasov (@turbulator) <https://github.com/turbulator>`__
|
- `Alexey Vlasov (@turbulator) <https://github.com/turbulator>`__
|
||||||
@ -579,6 +628,7 @@ Contributors
|
|||||||
- `voibit (@voibit) <https://github.com/voibit>`__
|
- `voibit (@voibit) <https://github.com/voibit>`__
|
||||||
- `Xuming Feng (@voicevon) <https://github.com/voicevon>`__
|
- `Xuming Feng (@voicevon) <https://github.com/voicevon>`__
|
||||||
- `vxider (@Vxider) <https://github.com/Vxider>`__
|
- `vxider (@Vxider) <https://github.com/Vxider>`__
|
||||||
|
- `WallyCZ (@WallyCZ) <https://github.com/WallyCZ>`__
|
||||||
- `warpzone (@warpzone) <https://github.com/warpzone>`__
|
- `warpzone (@warpzone) <https://github.com/warpzone>`__
|
||||||
- `Wauter (@Wauter) <https://github.com/Wauter>`__
|
- `Wauter (@Wauter) <https://github.com/Wauter>`__
|
||||||
- `webeling67 (@webeling67) <https://github.com/webeling67>`__
|
- `webeling67 (@webeling67) <https://github.com/webeling67>`__
|
||||||
@ -608,4 +658,4 @@ Contributors
|
|||||||
- `San (@zhujunsan) <https://github.com/zhujunsan>`__
|
- `San (@zhujunsan) <https://github.com/zhujunsan>`__
|
||||||
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
|
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
|
||||||
|
|
||||||
*This page was last updated July 22, 2021.*
|
*This page was last updated July 27, 2021.*
|
||||||
|
Loading…
Reference in New Issue
Block a user