From bc0d216600566bf5b3bf1e169d243d85dd09df77 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 18 Aug 2021 09:57:08 +1200 Subject: [PATCH 1/7] Change state to position in cover docs (#1397) --- components/cover/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/cover/index.rst b/components/cover/index.rst index f3076ae06..841b84182 100644 --- a/components/cover/index.rst +++ b/components/cover/index.rst @@ -168,7 +168,7 @@ advanced stuff. .. code-block:: yaml - if (id(my_cover).state == COVER_OPEN) { + if (id(my_cover).position == COVER_OPEN) { // Cover is open } else { // Cover is closed From 4088388004d019f7a9a5f0ef0f114300fa4284ab Mon Sep 17 00:00:00 2001 From: Oxan van Leeuwen Date: Tue, 17 Aug 2021 02:37:22 +0200 Subject: [PATCH 2/7] Color mode documentation (#1328) --- components/light/custom.rst | 4 +- components/light/cwww.rst | 22 +++++++-- components/light/hbridge.rst | 7 ++- components/light/index.rst | 80 +++++++++++++++++++++++--------- components/light/neopixelbus.rst | 2 +- components/light/rgbw.rst | 29 ++++++------ components/light/rgbww.rst | 21 +++++++-- components/light/tuya.rst | 6 +-- 8 files changed, 117 insertions(+), 54 deletions(-) diff --git a/components/light/custom.rst b/components/light/custom.rst index e8e5245e3..1fb6e6edb 100644 --- a/components/light/custom.rst +++ b/components/light/custom.rst @@ -27,9 +27,7 @@ The example below is an example of a custom light output. // return the traits this light supports auto traits = LightTraits(); traits.set_supports_brightness(true); - traits.set_supports_rgb(true); - traits.set_supports_rgb_white_value(false); - traits.set_supports_color_temperature(false); + traits.set_supports_color_modes({ColorMode::RGB}); return traits; } diff --git a/components/light/cwww.rst b/components/light/cwww.rst index e52e6a98a..589d1c517 100644 --- a/components/light/cwww.rst +++ b/components/light/cwww.rst @@ -5,9 +5,9 @@ Cold White + Warm White Light :description: Instructions for setting up Cold White + Warm White lights. :image: brightness-medium.png -The ``cwww`` light platform creates a Cold-White+Warm-White -light from 2 :ref:`float output components ` (one for each channel). The two -channels will be mixed using the color temperature configuration options. +The ``cwww`` light platform creates a cold white + warm white light from 2 +:ref:`float output components ` (one for each channel). The two channels +can be controlled individually or together. .. code-block:: yaml @@ -21,15 +21,27 @@ channels will be mixed using the color temperature configuration options. warm_white_color_temperature: 2000 K constant_brightness: true +.. _cwww_mixing: + +Mixing +------ + +The two channels of this light can be controlled individually by using the ``cold_white`` and ``warm_white`` options of +the :ref:`light control actions `. + +If the color temperature of both lights is supplied, it is also possible to control the the two channels together by +setting a color temperature, using the ``white`` (interpreted as brightness) and ``color_temperature`` options. This +calculation assumes that both lights have the same illuminance, which might not always be accurate. + Configuration variables: ------------------------ - **name** (**Required**, string): The name of the light. - **cold_white** (**Required**, :ref:`config-id`): The id of the float :ref:`output` to use for the cold white channel. - **warm_white** (**Required**, :ref:`config-id`): The id of the float :ref:`output` to use for the warm white channel. -- **cold_white_color_temperature** (**Required**, float): The color temperate (in `mireds `__ or Kelvin) +- **cold_white_color_temperature** (*Optional*, float): The color temperature (in `mireds `__ or Kelvin) of the cold white channel. -- **warm_white_color_temperature** (**Required**, float): The color temperate (in `mireds `__ or Kelvin) +- **warm_white_color_temperature** (*Optional*, float): The color temperature (in `mireds `__ or Kelvin) of the warm white channel. - **constant_brightness** (*Optional*, boolean): When enabled, this will keep the overall brightness of the cold and warm white channels constant by limiting the combined output to 100% of a single channel. This reduces the possible overall brightness but is necessary for some power supplies that are not able to run both channels at full brightness at once. Defaults to ``false``. - **effects** (*Optional*, list): A list of :ref:`light effects ` to use for this light. diff --git a/components/light/hbridge.rst b/components/light/hbridge.rst index 225d7e262..5b5f0236d 100644 --- a/components/light/hbridge.rst +++ b/components/light/hbridge.rst @@ -36,6 +36,11 @@ The pins are switched alternatively to allow two sets of lights to operate. pin_a: pina pin_b: pinb +Internally, H-bridge lights are implemented as cold/warm white lights. This means that the brightness of the two colors +is mapped to the cold white and warm white values, even if the colors aren't actually white in reality. To individually +control the colors in the :ref:`light control actions `, you need to use the ``cold_white`` and +``warm_white`` options. + Configuration variables: ------------------------ @@ -48,7 +53,7 @@ Configuration variables: .. note:: - As we are switching the h-bridge in software, the light may glitch every so often when other tasks run on the MCU. + As we are switching the H-bridge in software, the light may glitch every so often when other tasks run on the MCU. See Also -------- diff --git a/components/light/index.rst b/components/light/index.rst index 1e444973a..9dcee7906 100644 --- a/components/light/index.rst +++ b/components/light/index.rst @@ -131,26 +131,49 @@ Configuration variables: - **id** (**Required**, :ref:`config-id`): The ID of the light. - **transition_length** (*Optional*, :ref:`config-time`, :ref:`templatable `): The length of the transition if the light supports it. -- **brightness** (*Optional*, percentage, :ref:`templatable `): The brightness of the light. Must be in range - ``0%`` to ``100%`` or ``0.0`` to ``1.0``. This is a master brightness that applies to all channels (both color and white) of the - light. Defaults to not changing brightness. -- **color_brightness** (*Optional*, percentage, :ref:`templatable `): The brightness of the color lights. Must - be in range ``0%`` to ``100%`` or ``0.0`` to ``1.0``. Useful to control brightness of colored and white lights separately for - RGBW lights. Defaults to not changing brightness. -- **red** (*Optional*, percentage, :ref:`templatable `): The red channel of the light. Must be in range - ``0%`` to ``100%`` or ``0.0`` to ``1.0``. Defaults to not changing red channel. -- **green** (*Optional*, percentage, :ref:`templatable `): The green channel of the light. Must be in range - ``0%`` to ``100%`` or ``0.0`` to ``1.0``. Defaults to not changing green channel. -- **blue** (*Optional*, percentage, :ref:`templatable `): The blue channel of the light. Must be in range - ``0%`` to ``100%`` or ``0.0`` to ``1.0``. Defaults to not changing blue channel. -- **white** (*Optional*, percentage, :ref:`templatable `): The brightness of the white lights. Must be in range - ``0%`` to ``100%`` or ``0.0`` to ``1.0``. Defaults to not changing white channel. -- **color_temperature** (*Optional*, float, :ref:`templatable `): The white color temperature value (in `mireds `__ or Kelvin) for CWWW / RGBWW lights. Defaults to not changing the color temperature value. +- **color_mode** (*Optional*, :ref:`templatable `): For lights that support more than one color mode, the color + mode that will be activated. The color mode determines which outputs of the light are active, and which parameters can be used. + This can for example be used to switch between colored and white light. Must be a color mode that is supported by the light. + Valid color modes are: + + - ``ON_OFF``: Only on/off control. + - ``BRIGHTNESS``: Only brightness control. Accepts *brightness* parameter. + - ``WHITE``: Single white channel only. Accepts *brightness* and *white* parameters. + - ``COLOR_TEMPERATURE``: Color-temperature controlled white channel. Accepts *brightness* and *color_temperature* + parameters. + - ``COLD_WARM_WHITE``: Cold and warm white channels. Accepts *brightness*, *color_temperature*, *cold_white* and + *warm_white* parameters. + - ``RGB``: RGB color channels. Accepts *brightness*, *color_brightness*, *red*, *green* and *blue* parameters. + - ``RGB_WHITE``: RGB color channels and a separate white channel. Accepts parameters from ``RGB`` and ``WHITE`` + color modes. + - ``RGB_COLOR_TEMPERATURE``: RGB color channels and a separate color-temperature controlled white channel. Accepts + parameters from ``RGB`` and ``COLOR_TEMPERATURE`` color modes. + - ``RGB_COLD_WARM_WHITE``: RGB color channels and two separate cold and warm white channels. Accepts parameters + from ``RGB`` and ``COLD_WARM_WHITE`` color modes. + +- **brightness** (*Optional*, percentage, :ref:`templatable `): The master brightness of the light, that + applies to all channels (both color and white) of the light. +- **color_brightness** (*Optional*, percentage, :ref:`templatable `): The brightness of the color lights. Useful + to control brightness of colored and white lights separately for RGBW lights. +- **red** (*Optional*, percentage, :ref:`templatable `): The red channel of the light. +- **green** (*Optional*, percentage, :ref:`templatable `): The green channel of the light. +- **blue** (*Optional*, percentage, :ref:`templatable `): The blue channel of the light. +- **white** (*Optional*, percentage, :ref:`templatable `): The brightness of the white channel. +- **color_temperature** (*Optional*, float, :ref:`templatable `): The color temperature + (in `mireds `__ or Kelvin) of the white channel. +- **cold_white** (*Optional*, percentage, :ref:`templatable `): The brightness of the cold white channel. + Cannot be used at the same time as *color_temperature*. +- **warm_white** (*Optional*, percentage, :ref:`templatable `): The brightness of the warm white channel. + Cannot be used at the same time as *color_temperature*. - **flash_length** (*Optional*, :ref:`config-time`, :ref:`templatable `): If set, will flash the given color for this period of time and then go back to the previous state. - **effect** (*Optional*, string, :ref:`templatable `): If set, will attempt to start an effect with the given name. +All percentage options accept values in the range ``0%`` to ``100%`` or ``0.0`` to ``1.0``, and default to not changing +the current value (which might be the value from before the light was last turned off). To reset values, explicitly set +them to zero. + .. note:: This action can also be expressed in :ref:`lambdas `: @@ -161,7 +184,10 @@ Configuration variables: // set parameters (optional) call.set_transition_length(1000); // in ms call.set_brightness(1.0); // 1.0 is full brightness - call.set_rgb(1.0, 1.0, 1.0); // color, 1.0 is fully lit + call.set_color_mode(ColorMode::RGB_COLD_WARM_WHITE); + call.set_rgb(0.5, 0.25, 1.0); // color in RGB order, this example is purple + call.set_cold_white(0.5); + call.set_warm_white(0.75); call.set_effect("The Effect"); // perform action: call.perform(); @@ -175,8 +201,9 @@ Configuration variables: .. note:: The master brightness (``brightness``) and separate brightness controls for the color and - white channels (``color_brightness`` and ``white``) are multiplied together. Thus, this will - result in color at 40% brightness and white at 60% brightness: + white channels (``color_brightness``, ``white``, ``cold_white`` and ``warm_white``) are + multiplied together. Thus, this will result in color at 40% brightness and white at 60% + brightness: .. code-block:: yaml @@ -482,14 +509,21 @@ Configuration variables: - **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. - - **state** (*Optional*, boolean): The ON/OFF state to show. Defaults to ``true``. + - **state** (*Optional*, boolean): The on/off state to show. Defaults to ``true``. + - **color_mode** (*Optional*, ): The color mode of the light. Defaults to the current color mode. - **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%``. - - **green** (*Optional*, percentage): The percentage that the green color should be on for RGB lights. Defaults to ``100%``. - - **blue** (*Optional*, percentage): The percentage that the blue color should be on for RGB lights. Defaults to ``100%``. - - **white** (*Optional*, percentage): The percentage that the white color should be on for RGBW lights. Defaults to ``100%``. + - **color_brightness** (*Optional*, percentage): The brightness of the RGB lights, if applicable. Defaults to ``100%``. + - **red** (*Optional*, percentage): The red channel of the light, if applicable. Defaults to ``100%``. + - **green** (*Optional*, percentage): The green channel of the light, if applicable. Defaults to ``100%``. + - **blue** (*Optional*, percentage): The blue channel of the light, if applicable. Defaults to ``100%``. + - **white** (*Optional*, percentage): The white channel of the light, if applicable. Defaults to ``100%``. + - **color_temperature** (*Optional*, percentage): The color temperature of the light, if applicable. Defaults to ``100%``. + - **cold_white** (*Optional*, percentage): The cold white channel of the light, if applicable. Defaults to ``100%``. + - **warm_white** (*Optional*, percentage): The warm white channel of the light, if applicable. Defaults to ``100%``. - **duration** (**Required**, :ref:`config-time`): The duration this color should be active. +See `light.turn_on ` for more information on the various color fields. + Flicker Effect ************** diff --git a/components/light/neopixelbus.rst b/components/light/neopixelbus.rst index 71bcac5cc..0dfce5226 100644 --- a/components/light/neopixelbus.rst +++ b/components/light/neopixelbus.rst @@ -1,4 +1,4 @@ -Neopixelbus Light +NeoPixelBus Light ================= .. seo:: diff --git a/components/light/rgbw.rst b/components/light/rgbw.rst index 4894be33c..c83d3e55e 100644 --- a/components/light/rgbw.rst +++ b/components/light/rgbw.rst @@ -43,6 +43,21 @@ perceived intensity of different colors will generally vary. This can be done by pin: D1 max_power: 80% +.. _rgbw_color_interlock: + +Color Interlock +--------------- + +With some LED bulbs, it is not possible to enable the RGB leds at the same time as the white leds, or setting +the RGB channels to maximum whilst wanting a white light will have an undesired hue effect. For these cases a +configuration variable is available that prevents the RGB leds and white leds from being turned on at the same +time: ``color_interlock``. + +Setting this option to ``true`` will result in the light having two color modes available, ``RGB`` and ``WHITE``. +When the ``RGB`` color mode is active, the white leds are turned off, and when the ``WHITE`` color mode is active, +the RGB leds are turned off. Switching between these modes can be done from the Home Assistant interface, or by using +the ``color_mode`` option of the :ref:`light control actions `. + Configuration variables: ------------------------ @@ -57,20 +72,6 @@ Configuration variables: - **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. - All other options from :ref:`Light `. -.. _rgbw_color_interlock: - -Color Interlock -*************** - -With some LED bulbs, it is not possible to enable the RGB leds at the same time as the white leds, or setting -the RGB channels to maximum whilst wanting a white light will have an undesired hue effect. For these cases a -configuration variable is available that prevents the RGB leds and white leds from being turned on at the same -time: ``color_interlock``. - -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 -color brightness is raised above 0%, the white leds are automatically turned off. - See Also -------- diff --git a/components/light/rgbww.rst b/components/light/rgbww.rst index 742a0b46a..d599682d7 100644 --- a/components/light/rgbww.rst +++ b/components/light/rgbww.rst @@ -6,8 +6,8 @@ RGBWW Light :image: rgbw.png The ``rgbww`` light platform creates an RGBWW (cold white + warm white) -light from 5 :ref:`float output components ` (one for each channel). The cold white -and warm white channels will be mixed using the color temperature configuration options. +light from 5 :ref:`float output components ` (one for each channel). The cold and warm +white channels can be controlled individually or together, see :ref:`cwww_mixing` for more information. .. code-block:: yaml @@ -49,6 +49,19 @@ perceived intensity of different colors will generally vary. This can be done by pin: D1 max_power: 80% +Color Interlock +--------------- + +With some LED bulbs, it is not possible to enable the RGB leds at the same time as the white leds, or setting +the RGB channels to maximum whilst wanting a white light will have an undesired hue effect. For these cases a +configuration variable is available that prevents the RGB leds and white leds from being turned on at the same +time: ``color_interlock``. + +Setting this option to ``true`` will result in the light having two color modes available, ``RGB`` and ``COLD_WARM_WHITE``. +When the ``RGB`` color mode is active, the white leds are turned off, and when the ``COLD_WARM_WHITE`` color mode is active, +the RGB leds are turned off. Switching between these modes can be done from the Home Assistant interface, or by using +the ``color_mode`` option of the :ref:`light control actions `. + Configuration variables: ------------------------ @@ -61,9 +74,9 @@ Configuration variables: white channel. - **warm_white** (**Required**, :ref:`config-id`): The id of the float :ref:`output` to use for the warm white channel. -- **cold_white_color_temperature** (**Required**, float): The color temperate (in +- **cold_white_color_temperature** (*Optional*, float): The color temperature (in `mireds `__ or Kelvin) of the cold white channel. -- **warm_white_color_temperature** (**Required**, float): The color temperate (in +- **warm_white_color_temperature** (*Optional*, float): The color temperature (in `mireds `__ or Kelvin) of the warm white channel. - **constant_brightness** (*Optional*, boolean): When enabled, this will keep the overall brightness of the cold and warm white channels constant by limiting the combined output to 100% of a single channel. This diff --git a/components/light/tuya.rst b/components/light/tuya.rst index e13e40ff7..50ee794b0 100644 --- a/components/light/tuya.rst +++ b/components/light/tuya.rst @@ -86,10 +86,10 @@ Configuration variables: - **max_value** (*Optional*, int, default 255): The highest dimmer value allowed. Most dimmers have a maximum of 255, but dimmers with a maximum of 1000 can also be found. Try what works best. - **color_temperature_max_value** (*Optional*, int, default 255): The highest color temperature - value allowed. Some ceiling fans have a value of 100 (also for ``max_value``). -- **cold_white_color_temperature** (*Optional*, float): The color temperate (in `mireds + value allowed. Some ceiling fans have a value of 100 (also for `max_value`). +- **cold_white_color_temperature** (*Optional*, float): The color temperature (in `mireds `__ or Kelvin) of the cold white channel. -- **warm_white_color_temperature** (*Optional*, float): The color temperate (in `mireds +- **warm_white_color_temperature** (*Optional*, float): The color temperature (in `mireds `__ or Kelvin) of the warm white channel. - All other options from :ref:`Light `. - At least one of *dimmer_datapoint* or *switch_datapoint* must be provided. From c8c3316d574f1949ef44d5762a322860288dc20c Mon Sep 17 00:00:00 2001 From: Oxan van Leeuwen Date: Wed, 18 Aug 2021 01:07:43 +0200 Subject: [PATCH 3/7] Clarify some color temperature settings (#1396) --- components/light/color_temperature.rst | 10 ++++++---- components/light/cwww.rst | 4 ++-- components/light/rgbct.rst | 14 ++++++++------ components/light/rgbww.rst | 6 ++++-- 4 files changed, 20 insertions(+), 14 deletions(-) diff --git a/components/light/color_temperature.rst b/components/light/color_temperature.rst index fa9cba442..4689b9653 100644 --- a/components/light/color_temperature.rst +++ b/components/light/color_temperature.rst @@ -26,10 +26,12 @@ Configuration variables: - **name** (**Required**, string): The name of the light. - **color_temperature** (**Required**, :ref:`config-id`): The id of the float :ref:`output` to use for the color temperature. - **brightness** (**Required**, :ref:`config-id`): The id of the float :ref:`output` to use for the brightness. -- **cold_white_color_temperature** (**Required**, float): The color temperate (in `mireds `__ or Kelvin) - of the cold white channel. -- **warm_white_color_temperature** (**Required**, float): The color temperate (in `mireds `__ or Kelvin) - of the warm white channel. +- **cold_white_color_temperature** (**Required**, float): The coldest color temperature supported by this light. This + is the lowest value when expressed in `mireds `__, or the highest value when + expressed in Kelvin. +- **warm_white_color_temperature** (**Required**, float): The warmest color temperature supported by this light. This + is the highest value when expressed in `mireds `__, or the lowest value when + expressed in Kelvin. - **effects** (*Optional*, list): A list of :ref:`light effects ` to use for this light. - **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. - All other options from :ref:`Light `. diff --git a/components/light/cwww.rst b/components/light/cwww.rst index 589d1c517..6c008644e 100644 --- a/components/light/cwww.rst +++ b/components/light/cwww.rst @@ -40,9 +40,9 @@ Configuration variables: - **cold_white** (**Required**, :ref:`config-id`): The id of the float :ref:`output` to use for the cold white channel. - **warm_white** (**Required**, :ref:`config-id`): The id of the float :ref:`output` to use for the warm white channel. - **cold_white_color_temperature** (*Optional*, float): The color temperature (in `mireds `__ or Kelvin) - of the cold white channel. + of the cold white channel. Note that this option is required to control the mixing from Home Assistant. - **warm_white_color_temperature** (*Optional*, float): The color temperature (in `mireds `__ or Kelvin) - of the warm white channel. + of the warm white channel. Note that this option is required to control the mixing from Home Assistant. - **constant_brightness** (*Optional*, boolean): When enabled, this will keep the overall brightness of the cold and warm white channels constant by limiting the combined output to 100% of a single channel. This reduces the possible overall brightness but is necessary for some power supplies that are not able to run both channels at full brightness at once. Defaults to ``false``. - **effects** (*Optional*, list): A list of :ref:`light effects ` to use for this light. - **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. diff --git a/components/light/rgbct.rst b/components/light/rgbct.rst index 071fcd6dc..7e198bbb2 100644 --- a/components/light/rgbct.rst +++ b/components/light/rgbct.rst @@ -5,7 +5,7 @@ RGBCT Light :description: Instructions for setting up RGBCT lights. :image: rgbw.png -The ``rgbct`` light platform creates an RGBWT (colour temperature + white brightness) +The ``rgbct`` light platform creates an RGBWT (color temperature + white brightness) light from 5 :ref:`float output components ` (one for each channel). .. code-block:: yaml @@ -30,13 +30,15 @@ Configuration variables: - **green** (**Required**, :ref:`config-id`): The id of the float :ref:`output` to use for the green channel. - **blue** (**Required**, :ref:`config-id`): The id of the float :ref:`output` to use for the blue channel. - **color_temperature** (**Required**, :ref:`config-id`): The id of the float :ref:`output` to use for the - color temperature cannel. + color temperature channel. - **white_brightness** (**Required**, :ref:`config-id`): The id of the float :ref:`output` to use for the brightness of the white leds. -- **cold_white_color_temperature** (**Required**, float): The color temperate (in - `mireds `__ or Kelvin) of the cold white channel. -- **warm_white_color_temperature** (**Required**, float): The color temperate (in - `mireds `__ or Kelvin) of the warm white channel. +- **cold_white_color_temperature** (**Required**, float): The coldest color temperature supported by this light. This + is the lowest value when expressed in `mireds `__, or the highest value when + expressed in Kelvin. +- **warm_white_color_temperature** (**Required**, float): The warmest color temperature supported by this light. This + is the highest value when expressed in `mireds `__, or the lowest value when + expressed in Kelvin. - **color_interlock** (*Optional*, boolean): When enabled, this will prevent white leds being on at the same time as RGB leds. See :ref:`rgbw_color_interlock` for more information. Defaults to ``false``. - **effects** (*Optional*, list): A list of :ref:`light effects ` to use for this light. diff --git a/components/light/rgbww.rst b/components/light/rgbww.rst index d599682d7..e49adbd25 100644 --- a/components/light/rgbww.rst +++ b/components/light/rgbww.rst @@ -75,9 +75,11 @@ Configuration variables: - **warm_white** (**Required**, :ref:`config-id`): The id of the float :ref:`output` to use for the warm white channel. - **cold_white_color_temperature** (*Optional*, float): The color temperature (in - `mireds `__ or Kelvin) of the cold white channel. + `mireds `__ or Kelvin) of the cold white channel. Note that when the color interlock + is enabled, this option is required to control the light from Home Assistant. - **warm_white_color_temperature** (*Optional*, float): The color temperature (in - `mireds `__ or Kelvin) of the warm white channel. + `mireds `__ or Kelvin) of the warm white channel. Note that when the color interlock + is enabled, this option is required to control the light from Home Assistant. - **constant_brightness** (*Optional*, boolean): When enabled, this will keep the overall brightness of the cold and warm white channels constant by limiting the combined output to 100% of a single channel. This reduces the possible overall brightness but is necessary for some power supplies that are not able to run From 927d62c25772c6738c3983616c144860719a28b5 Mon Sep 17 00:00:00 2001 From: Oxan van Leeuwen Date: Wed, 18 Aug 2021 01:10:17 +0200 Subject: [PATCH 4/7] Sort sensors & sensor categories alphabetically (#1394) --- index.rst | 164 +++++++++++++++++++++++++++--------------------------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/index.rst b/index.rst index d04407bcb..929cc2603 100644 --- a/index.rst +++ b/index.rst @@ -164,33 +164,21 @@ Air Quality .. imgtable:: CCS811, components/sensor/ccs811, ccs811.jpg, CO2 & Volatile organics - MH-Z19, components/sensor/mhz19, mhz19.jpg, CO2 & Temperature HM3301, components/sensor/hm3301, hm3301.jpg, Particulate + MH-Z19, components/sensor/mhz19, mhz19.jpg, CO2 & Temperature PM1006 Sensor, components/sensor/pm1006, pm1006.jpg, Particulate - PMSX003, components/sensor/pmsx003, pmsx003.svg, Particulate PMSA003I, components/sensor/pmsa003i, pmsa003i.jpg, Particulate - SenseAir, components/sensor/senseair, senseair_s8.jpg, CO2 + PMSX003, components/sensor/pmsx003, pmsx003.svg, Particulate SDS011 Sensor, components/sensor/sds011, sds011.jpg, Particulate - SM300D2, components/sensor/sm300d2, sm300d2.jpg, Air quality - SPS30, components/sensor/sps30, sps30.jpg, Particulate + SenseAir, components/sensor/senseair, senseair_s8.jpg, CO2 SGP30, components/sensor/sgp30, sgp30.jpg, CO2 & Volatile organics SGP40, components/sensor/sgp40, sgp40.jpg, Volatile organics + SM300D2, components/sensor/sm300d2, sm300d2.jpg, Air quality + SPS30, components/sensor/sps30, sps30.jpg, Particulate T6613/15, components/sensor/t6615, t6615.png, C02 ZyAura, components/sensor/zyaura, zgm053.jpg, CO2 & Temperature & Humidity -Light -***** -.. imgtable:: - - AM43, components/sensor/am43, am43.jpg, Lux - APDS9960, components/sensor/apds9960, apds9960.jpg, Colour & Gesture - BH1750, components/sensor/bh1750, bh1750.jpg, Lux - TCS34725, components/sensor/tcs34725, tcs34725.jpg, Lux & RGB colour - TSL2561, components/sensor/tsl2561, tsl2561.jpg, Lux - TSL2591, components/sensor/tsl2591, tsl2591.jpg, Lux - - Analogue ******** .. imgtable:: @@ -206,11 +194,11 @@ Bluetooth Low Energy (BLE) .. imgtable:: AM43, components/sensor/am43, am43.jpg, Lux & Battery level - BLE RSSI, components/sensor/ble_rssi, bluetooth.svg BLE Client Sensor, components/sensor/ble_client, bluetooth.svg + BLE RSSI, components/sensor/ble_rssi, bluetooth.svg Inkbird IBS-TH1 Mini, components/sensor/inkbird_ibsth1_mini, inkbird_isbth1_mini.jpg, Temperature & Humidity - Xiaomi BLE, components/sensor/xiaomi_ble, xiaomi_mijia_logo.jpg, Various RuuviTag, components/sensor/ruuvitag, ruuvitag.jpg, Temperature & Humidity & Accelerometer + Xiaomi BLE, components/sensor/xiaomi_ble, xiaomi_mijia_logo.jpg, Various Digital Signals @@ -233,13 +221,73 @@ Distance VL53L0x, components/sensor/vl53l0x, vl53l0x.png, IR optical distance -Weight -****** +Electricity +*********** .. imgtable:: - HX711, components/sensor/hx711, hx711.jpg, Load cell amplifier - Xiaomi Miscale, components/sensor/xiaomi_miscale, xiaomi_miscale.jpg - Xiaomi Miscale2, components/sensor/xiaomi_miscale2, xiaomi_miscale2.jpg + ADE7953, components/sensor/ade7953, ade7953.svg, Power + ATM90E32, components/sensor/atm90e32, atm90e32.jpg, Voltage & Current & Power + CS5460A, components/sensor/cs5460a, cs5460a.png, Voltage & Current & Power + CSE7766, components/sensor/cse7766, cse7766.svg, Voltage & Current & Power + CT Clamp, components/sensor/ct_clamp, ct_clamp.jpg, AC current + DSMR, components/sensor/dsmr, dsmr.svg, Electrical counter + HLW8012, components/sensor/hlw8012, hlw8012.svg, Voltage & Current & Power + INA219, components/sensor/ina219, ina219.jpg, DC current + INA226, components/sensor/ina226, ina226.jpg, DC current & Power + INA3221, components/sensor/ina3221, ina3221.jpg, 3-Ch DC current + PZEM AC, components/sensor/pzemac, pzem-ac.png, Voltage & Current & Power + PZEM DC, components/sensor/pzemdc, pzem-dc.png, Voltage & Current & Power + PZEM004T, components/sensor/pzem004t, pzem004t.svg, Voltage & Current & Power + SDM Meter, components/sensor/sdm_meter, sdm220m.png, Modbus energy monitor + Selec Meter, components/sensor/selec_meter, selec_meter_em2m.jpg, Modbus energy monitor + Teleinfo, components/sensor/teleinfo, teleinfo.jpg, Electrical counter + Total Daily Energy, components/sensor/total_daily_energy, sigma.svg + + +Environmental +************* + +.. imgtable:: + + AHT10, components/sensor/aht10, aht10.jpg, Temperature & Humidity + AM2320, components/sensor/am2320, am2320.jpg, Temperature & Humidity + BME280, components/sensor/bme280, bme280.jpg, Temperature & Humidity & Pressure + BME680, components/sensor/bme680, bme680.jpg, Temperature & Humidity & Pressure & Gas + BME680 via BSEC, components/sensor/bme680_bsec, bme680.jpg, Temperature & Humidity & Pressure & Gas + BMP085, components/sensor/bmp085, bmp180.jpg, Temperature & Pressure + BMP280, components/sensor/bmp280, bmp280.jpg, Temperature & Humidity & Pressure + b-parasite, components/sensor/b_parasite, b_parasite.jpg, Moisture & Temperature & Humidity + Dallas DS18B20, components/sensor/dallas, dallas.jpg, Temperature + DHT, components/sensor/dht, dht.jpg, Temperature & Humidity + DHT12, components/sensor/dht12, dht12.jpg, Temperature & Humidity + HDC1080, components/sensor/hdc1080, hdc1080.jpg, Temperature & Humidity + HTU21D, components/sensor/htu21d, htu21d.jpg, Temperature & Humidity + Inkbird IBS-TH1 Mini, components/sensor/inkbird_ibsth1_mini, inkbird_isbth1_mini.jpg, Temperature & Humidity + MCP9808, components/sensor/mcp9808, mcp9808.jpg, Temperature + MH-Z19, components/sensor/mhz19, mhz19.jpg, CO2 & Temperature + MS5611, components/sensor/ms5611, ms5611.jpg, Pressure + NTC Thermistor, components/sensor/ntc, ntc.jpg, Temperature + RuuviTag, components/sensor/ruuvitag, ruuvitag.jpg, Temperature & Humidity & Accelerometer + SCD30, components/sensor/scd30, scd30.jpg, Temperature & Humidity + SDP3x, components/sensor/sdp3x, sdp31.jpg, Pressure + SHT3X-D, components/sensor/sht3xd, sht3xd.jpg, Temperature & Humidity + SHT4X, components/sensor/sht4x, sht4x.jpg, Temperature & Humidity + SHTCx, components/sensor/shtcx, shtc3.jpg, Temperature & Humidity + STS3X, components/sensor/sts3x, sts3x.jpg, Temperature + TMP102, components/sensor/tmp102, tmp102.jpg, Temperature + TMP117, components/sensor/tmp117, tmp117.jpg, Temperature + + +Light +***** +.. imgtable:: + + AM43, components/sensor/am43, am43.jpg, Lux + APDS9960, components/sensor/apds9960, apds9960.jpg, Colour & Gesture + BH1750, components/sensor/bh1750, bh1750.jpg, Lux + TCS34725, components/sensor/tcs34725, tcs34725.jpg, Lux & RGB colour + TSL2561, components/sensor/tsl2561, tsl2561.jpg, Lux + TSL2591, components/sensor/tsl2591, tsl2591.jpg, Lux Magnetic @@ -259,9 +307,9 @@ Miscellaneous Binary Sensor Map, components/sensor/binary_sensor_map, binary_sensor_map.jpg, Map binary to value b-parasite, components/sensor/b_parasite, b_parasite.jpg, Moisture & Temperature & Humidity EZO sensor circuits, components/sensor/ezo, ezo-ph-circuit.png, (pH) + Havells Solar, components/sensor/havells_solar, havellsgti5000d_s.jpg, Solar rooftop Nextion, components/sensor/nextion, nextion.jpg, Sensors from display Rotary Encoder, components/sensor/rotary_encoder, rotary_encoder.jpg - Havells Solar, components/sensor/havells_solar, havellsgti5000d_s.jpg, Solar rooftop Tuya Sensor, components/sensor/tuya, tuya.png TX20, components/sensor/tx20, tx20.jpg, Wind speed & Wind direction @@ -275,63 +323,6 @@ Motion RuuviTag, components/sensor/ruuvitag, ruuvitag.jpg, Temperature & Humidity & Accelerometer -Electricity -*********** -.. imgtable:: - - ADE7953, components/sensor/ade7953, ade7953.svg, Power - ATM90E32, components/sensor/atm90e32, atm90e32.jpg, Voltage & Current & Power - CSE7766, components/sensor/cse7766, cse7766.svg, Voltage & Current & Power - CS5460A, components/sensor/cs5460a, cs5460a.png, Voltage & Current & Power - CT Clamp, components/sensor/ct_clamp, ct_clamp.jpg, AC current - DSMR, components/sensor/dsmr, dsmr.svg, Electrical counter - HLW8012, components/sensor/hlw8012, hlw8012.svg, Voltage & Current & Power - INA219, components/sensor/ina219, ina219.jpg, DC current - INA226, components/sensor/ina226, ina226.jpg, DC current & Power - INA3221, components/sensor/ina3221, ina3221.jpg, 3-Ch DC current - PZEM004T, components/sensor/pzem004t, pzem004t.svg, Voltage & Current & Power - PZEM AC, components/sensor/pzemac, pzem-ac.png, Voltage & Current & Power - PZEM DC, components/sensor/pzemdc, pzem-dc.png, Voltage & Current & Power - SDM Meter, components/sensor/sdm_meter, sdm220m.png, Modbus energy monitor - Selec Meter, components/sensor/selec_meter, selec_meter_em2m.jpg, Modbus energy monitor - Teleinfo, components/sensor/teleinfo, teleinfo.jpg, Electrical counter - Total Daily Energy, components/sensor/total_daily_energy, sigma.svg - - -Environmental -************* - -.. imgtable:: - - AHT10, components/sensor/aht10, aht10.jpg, Temperature & Humidity - AM2320, components/sensor/am2320, am2320.jpg, Temperature & Humidity - BMP085, components/sensor/bmp085, bmp180.jpg, Temperature & Pressure - BMP280, components/sensor/bmp280, bmp280.jpg, Temperature & Humidity & Pressure - BME280, components/sensor/bme280, bme280.jpg, Temperature & Humidity & Pressure - BME680, components/sensor/bme680, bme680.jpg, Temperature & Humidity & Pressure & Gas - BME680 via BSEC, components/sensor/bme680_bsec, bme680.jpg, Temperature & Humidity & Pressure & Gas - b-parasite, components/sensor/b_parasite, b_parasite.jpg, Moisture & Temperature & Humidity - Dallas DS18B20, components/sensor/dallas, dallas.jpg, Temperature - DHT, components/sensor/dht, dht.jpg, Temperature & Humidity - DHT12, components/sensor/dht12, dht12.jpg, Temperature & Humidity - HDC1080, components/sensor/hdc1080, hdc1080.jpg, Temperature & Humidity - HTU21D, components/sensor/htu21d, htu21d.jpg, Temperature & Humidity - Inkbird IBS-TH1 Mini, components/sensor/inkbird_ibsth1_mini, inkbird_isbth1_mini.jpg, Temperature & Humidity - MCP9808, components/sensor/mcp9808, mcp9808.jpg, Temperature - MH-Z19, components/sensor/mhz19, mhz19.jpg, CO2 & Temperature - MS5611, components/sensor/ms5611, ms5611.jpg, Pressure - NTC Thermistor, components/sensor/ntc, ntc.jpg, Temperature - RuuviTag, components/sensor/ruuvitag, ruuvitag.jpg, Temperature & Humidity & Accelerometer - SCD30, components/sensor/scd30, scd30.jpg, Temperature & Humidity - SDP3x, components/sensor/sdp3x, sdp31.jpg, Pressure - SHTCx, components/sensor/shtcx, shtc3.jpg, Temperature & Humidity - SHT3X-D, components/sensor/sht3xd, sht3xd.jpg, Temperature & Humidity - SHT4X, components/sensor/sht4x, sht4x.jpg, Temperature & Humidity - STS3X, components/sensor/sts3x, sts3x.jpg, Temperature - TMP102, components/sensor/tmp102, tmp102.jpg, Temperature - TMP117, components/sensor/tmp117, tmp117.jpg, Temperature - - Thermocouple ************ .. imgtable:: @@ -342,6 +333,15 @@ Thermocouple MAX6675, components/sensor/max6675, max6675.jpg, K-Type +Weight +****** +.. imgtable:: + + HX711, components/sensor/hx711, hx711.jpg, Load cell amplifier + Xiaomi Miscale, components/sensor/xiaomi_miscale, xiaomi_miscale.jpg + Xiaomi Miscale2, components/sensor/xiaomi_miscale2, xiaomi_miscale2.jpg + + Looking for a sensor that outputs its values as an analog voltage? Have a look at the :doc:`ADC Sensor ` together with a formula like in the :doc:`TEMT6000 example `. From f6093007333a8da0a6406e511e60a091a61b6512 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 18 Aug 2021 11:11:44 +1200 Subject: [PATCH 5/7] Bump version to v1.21.0b3 --- Doxygen | 2 +- Makefile | 2 +- _static/version | 2 +- conf.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Doxygen b/Doxygen index 20f9dbe90..74a88cbc2 100644 --- a/Doxygen +++ b/Doxygen @@ -38,7 +38,7 @@ PROJECT_NAME = "ESPHome" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 1.21.0b2 +PROJECT_NUMBER = 1.21.0b3 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/Makefile b/Makefile index fcdd3f34d..3c0d6ce67 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ ESPHOME_PATH = ../esphome -ESPHOME_REF = v1.21.0b2 +ESPHOME_REF = v1.21.0b3 .PHONY: html html-strict cleanhtml deploy help webserver Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png diff --git a/_static/version b/_static/version index 91241893f..78056b981 100644 --- a/_static/version +++ b/_static/version @@ -1 +1 @@ -1.21.0b2 \ No newline at end of file +1.21.0b3 \ No newline at end of file diff --git a/conf.py b/conf.py index 0317aaf9b..b332f1229 100644 --- a/conf.py +++ b/conf.py @@ -69,7 +69,7 @@ author = "Otto Winter" # The short X.Y version. version = "1.21" # The full version, including alpha/beta/rc tags. -release = "1.21.0b2" +release = "1.21.0b3" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From 6a4b87428db08809ae32c07e71dce061328c3024 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 18 Aug 2021 11:16:32 +1200 Subject: [PATCH 6/7] Update changelog for 1.21.0b3 --- changelog/v1.21.0.rst | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/changelog/v1.21.0.rst b/changelog/v1.21.0.rst index a3c38cb4b..c92edce8d 100644 --- a/changelog/v1.21.0.rst +++ b/changelog/v1.21.0.rst @@ -17,6 +17,7 @@ Changelog - Version 1.21.0 - 18th August 2021 DSMR, components/sensor/dsmr, dsmr.svg HRXL MaxSonar WR, components/sensor/hrxl_maxsonar_wr, hrxl_maxsonar_wr.jpg PipSolar - compatible PV Inverter, components/pipsolar, pipsolar.jpg + PM1006 Sensor, components/sensor/pm1006, pm1006.jpg PMSA003I, components/sensor/pmsa003i, pmsa003i.jpg RGBCT Light, components/light/rgbct, rgbw.png SDP3x, components/sensor/sdp3x, sdp31.jpg @@ -28,7 +29,7 @@ Changelog - Version 1.21.0 - 18th August 2021 TSL2591, components/sensor/tsl2591, tsl2591.jpg -Notes pending... +Look at that nice sorted and categorized home page of sensors. Thanks to :ghuser:`patfelst` for doing this. Select Entities @@ -138,6 +139,12 @@ Beta Fixes - Let sensors announce their state_class via mqtt :esphomepr:`2155` by :ghuser:`puuu` - Thermostat delayed fan mode fix :esphomepr:`2158` by :ghuser:`kbx81` - Fix native API log level enum values :esphomepr:`2151` by :ghuser:`OttoWinter` +- Initialize color temperature to value within range if possible :esphomepr:`2168` by :ghuser:`oxan` +- Add a dummy color temp :esphomepr:`2161` by :ghuser:`DotNetDann` +- Add Gas device class to DSMR component :esphomepr:`2169` by :ghuser:`frenck` +- Send dirty states when screen wakes up :esphomepr:`2167` by :ghuser:`jesserockz` +- Remove specified accuracy_decimals from total_daily_energy :esphomepr:`2174` by :ghuser:`jesserockz` +- Add new total_increasing state-class for Home Assistant 2021.9+ :esphomepr:`2166` by :ghuser:`jesserockz` Notable Changes ^^^^^^^^^^^^^^^ @@ -236,3 +243,13 @@ All changes - Modular light transformers :esphomepr:`2124` by :ghuser:`oxan` - Support for the DKE screen version of LilyGo-TTGO-T5 V2.3 :esphomepr:`1969` by :ghuser:`blambov` - Support multiple configuration directories for update-all subcommand :esphomepr:`1925` by :ghuser:`oxan` +- Always send all light state values in API :esphomepr:`2150` by :ghuser:`oxan` +- Let sensors announce their state_class via mqtt :esphomepr:`2155` by :ghuser:`puuu` +- Thermostat delayed fan mode fix :esphomepr:`2158` by :ghuser:`kbx81` +- Fix native API log level enum values :esphomepr:`2151` by :ghuser:`OttoWinter` +- Initialize color temperature to value within range if possible :esphomepr:`2168` by :ghuser:`oxan` +- Add a dummy color temp :esphomepr:`2161` by :ghuser:`DotNetDann` +- Add Gas device class to DSMR component :esphomepr:`2169` by :ghuser:`frenck` +- Send dirty states when screen wakes up :esphomepr:`2167` by :ghuser:`jesserockz` +- Remove specified accuracy_decimals from total_daily_energy :esphomepr:`2174` by :ghuser:`jesserockz` +- Add new total_increasing state-class for Home Assistant 2021.9+ :esphomepr:`2166` by :ghuser:`jesserockz` From f70f1573fe54ed722b92a9267ef697a441b21036 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 18 Aug 2021 11:16:48 +1200 Subject: [PATCH 7/7] Update supporters for 1.21.0b3 --- guides/supporters.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/supporters.rst b/guides/supporters.rst index e2d71bd97..0f9c6843d 100644 --- a/guides/supporters.rst +++ b/guides/supporters.rst @@ -685,4 +685,4 @@ Contributors - `ZTX18 (@ZTX18) `__ - `Christian Zufferey (@zuzu59) `__ -*This page was last updated August 16, 2021.* +*This page was last updated August 18, 2021.*