Merge branch 'current' into next

This commit is contained in:
Jesse Hills 2022-08-08 08:23:47 +12:00
commit d48af09642
No known key found for this signature in database
GPG Key ID: BEAAE804EFD8E83A
24 changed files with 221 additions and 95 deletions

View File

@ -88,6 +88,15 @@ Release 2022.6.1 - June 18
- Bugfix for ExternalRAMAllocator copy constructor :esphomepr:`3571` by :ghuser:`bnw`
- Media Player: added triggers :esphomepr:`3576` by :ghuser:`dudanov`
Release 2022.6.2 - June 23
--------------------------
- Move gas mbus config option being a define to being a build flag :esphomepr:`3575` by :ghuser:`lkomurcu`
- Fix: Make MQTT over TLS actually work :esphomepr:`3580` by :ghuser:`ShellAddicted`
- Fix wrong type for voc_state*_ in sgp4x component :esphomepr:`3581` by :ghuser:`kahrendt`
- Media Player: added play_media action :esphomepr:`3579` by :ghuser:`dudanov`
- Fix 2 small issues in BLEClient :esphomepr:`3544` by :ghuser:`jhansche`
Breaking Changes
----------------

View File

@ -174,6 +174,8 @@ advanced stuff.
id(my_climate).fan_mode
// Swing mode, type: SwingMode (enum)
id(my_climate).swing_mode
// Current action (currentl on idle, cooling, heating, etc.), ClimateAction (enum)
id(my_climate).action
- ``.make_call``: Control the climate device

View File

@ -20,7 +20,7 @@ The ``midea`` component creates a Midea air conditioner climate device.
- `Senville <https://senville.com/>`_
- and maybe others
Control is possible with a custom dongle. Example of hardware implementation is `IoT Uni Dongle <https://github.com/dudanov/iot-uni-dongle>`_.
Control is possible with a custom dongle. Example of hardware implementation is `IoT Uni Dongle <https://github.com/dudanov/iot-uni-dongle>`_ or `Midea SLWF-01pro <https://www.ebay.com/itm/164956459539>`_ (`store <https://smartlight.me/smart-home-devices/wifi-devices/wifi-dongle-air-conditioners-midea-idea-electrolux-for-home-assistant>`_, `Tindie <https://www.tindie.com/products/smartlightme/wifi-dongle-for-air-conditioners-midea-electrolux>`_).
.. code-block:: yaml

View File

@ -280,11 +280,20 @@ Wi-Fi, API, and OTA configuration.
Inkplate 6 Plus Touchscreen
***************************
The Inkplate 6 Plus has a built in touchscreen supported by ESPHome.
Below is a config example:
The Inkplate 6 Plus has a built in touchscreen supported by ESPHome. Note you need to enable pin 12 on the mcp23017 to enable the touchscreen
Below is a config example with touchscreen power swtich:
.. code-block:: yaml
switch:
- platform: gpio
name: 'Inkplate Touchscreen Enabled'
restore_mode: ALWAYS_ON
pin:
mcp23xxx: mcp23017_hub
number: 12
inverted: true
touchscreen:
- platform: ektf2232
interrupt_pin: GPIO36
@ -293,13 +302,37 @@ Below is a config example:
number: 10
on_touch:
- logger.log:
format: "Touch: {x}, {y}"
args:
- touch.x
- touch.y
format: "touch x=%d, y=%d"
args: ['touch.x', 'touch.y']
Inkplate 6 Plus Backlight
***************************
The Inkplate 6 Plus has a built in backlight supported by ESPHome.
Below is a config example:
.. code-block:: yaml
power_supply:
- id: backlight_power
keep_on_time: 0.2s
enable_time: 0s
pin:
mcp23xxx: mcp23017_hub
number: 11
output:
- platform: mcp47a1
id: backlight_brightness_output
power_supply: backlight_power
light:
- platform: monochromatic
output: backlight_brightness_output
id: backlight
default_transition_length: 0.2s
name: '${friendly_name} Backlight'
See Also
--------

View File

@ -24,7 +24,7 @@ If your SSD1306/SSD1305 or SH1106 is connected via the 4-Wire :ref:`SPI bus <spi
SSD1306 OLED Display
Connect D0 to the SCL pin you chose for the :ref:`I²C Bus <i2c>`, and connect D1 to the SDA pin. For power, connect
Connect D2 to the SCL pin you chose for the :ref:`I²C Bus <i2c>`, and connect D1 to the SDA pin. For power, connect
VCC to 3.3V and GND to GND. Optionally you can also connect the ``RESET`` pin to a pin on the ESP which may
improve reliability.

View File

@ -71,18 +71,6 @@ Configuration variables:
probably to fail as the ethernet interface uses a high frequency clock signal. For more
information and wiring details refer to the link in the *See also* section.
Configuration for wESP32 board
------------------------------
.. code-block:: yaml
ethernet:
type: LAN8720
mdc_pin: GPIO16
mdio_pin: GPIO17
clk_mode: GPIO0_IN
phy_addr: 0
Configuration for Olimex ESP32-POE
----------------------------------
@ -108,6 +96,18 @@ Configuration for Olimex ESP32-EVB
clk_mode: GPIO0_IN
phy_addr: 0
Configuration for Olimex ESP32-GATEWAY
--------------------------------------
.. code-block:: yaml
ethernet:
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO17_OUT
phy_addr: 0
Configuration for LILYGO TTGO T-Internet-POE ESP32-WROOM LAN8270A Chip
----------------------------------------------------------------------
@ -120,20 +120,6 @@ Configuration for LILYGO TTGO T-Internet-POE ESP32-WROOM LAN8270A Chip
clk_mode: GPIO17_OUT
phy_addr: 0
Configuration for OpenHacks LAN8720
-----------------------------------
.. code-block:: yaml
ethernet:
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
phy_addr: 1
Note: This board has an issue that might cause the ESP32 to boot in program mode. When testing, make sure you are monitoring the
serial output and reboot the device several times to see if it boots into the program properly.
Configuration for Wireless Tag WT32-ETH01
-----------------------------------------
@ -147,6 +133,40 @@ Configuration for Wireless Tag WT32-ETH01
phy_addr: 1
power_pin: GPIO16
Configuration for OpenHacks LAN8720
-----------------------------------
.. code-block:: yaml
ethernet:
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
phy_addr: 1
.. note::
This board has an issue that might cause the ESP32 to boot in program mode. When testing, make sure
you are monitoring the serial output and reboot the device several times to see if it boots into the
program properly.
Configuration for wESP32 board (up to rev.6)
-------------------------------------------------
.. code-block:: yaml
ethernet:
type: LAN8720
mdc_pin: GPIO16
mdio_pin: GPIO17
clk_mode: GPIO0_IN
phy_addr: 0
.. note::
Revision 7 and upwards of the wESP32 board does not have a LAN8720 chip. Until support for the
replacement RTL8201 is included in ESPHome, the wESP board rev.7 will not work with the above configuration.
See Also
--------

View File

@ -41,7 +41,7 @@ Configuration variables:
.. note::
If the device can support multiple I²C buses (ESP32 has 2) these buses need to be defined as below and sensors need to be setup specifying the correct bus:
If the device can support multiple I²C buses (ESP32 has 2, ESP8266 does not support more than one) these buses need to be defined as below and sensors need to be setup specifying the correct bus:
.. code-block:: yaml

View File

@ -8,6 +8,10 @@ Shelly Dimmer
The ``shelly_dimmer`` component adds support for the dimming and power-metering functionality that can be found the `Shelly Dimmer 2 <https://shelly.cloud/knowledge-base/devices/shelly-dimmer-2/>`_. The interaction with mains is done via an STM32 microcontroller that is flashed with an `open source firmware <https://github.com/jamesturton/shelly-dimmer-stm32>`_.
A detailed analysis of the Shelly Dimmer 2 hardware is given `here <https://github.com/arendst/Tasmota/issues/6914>`_.
Warning!!! At the time of writing there seems to be no way to revert back to the "stock firmware", because there seems to be no way to revert to firmware of the STM32 co-processor.
The
.. figure:: ../../images/shellydimmer2.jpg
:align: center
:width: 40.0%

View File

@ -25,7 +25,7 @@ Configuration variables:
- **dac_type** (**Required**, enum)
- ``external``: Use an external DAC, for example the NS4168.
- ``external``: Use an external DAC, for example the NS4168, or UDA1334A.
- ``internal``: Use the internal DAC
- All other options from :ref:`Media Player <config-media_player>`
@ -33,11 +33,13 @@ Configuration variables:
External DAC
************
- **i2s_lrclk_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The GPIO pin to use for the I2S LRCLK signal.
- **i2s_dout_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The GPIO pin to use for the I2S DOUT signal.
- **i2s_bclk_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The GPIO pin to use for the I2S BCLK signal.
- **i2s_lrclk_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The GPIO pin to use for the I2S LRCLK (Word Select or Left/Right Clock) signal.
- **i2s_dout_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The GPIO pin to use for the I2S DOUT (Data Out) signal.
- **i2s_bclk_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The GPIO pin to use for the I2S BCLK (Bit Clock) signal.
- **mode** (*Optional*, string): The mode of the I2S bus. Can be ``mono`` or ``stereo``. Defaults to ``mono``.
For best results, keep the wires as short as possible.
Internal DAC
************

View File

@ -375,7 +375,7 @@ The response is mapped to the sensor based on register_count and offset in bytes
Note
----
Write support is only implemented for switches.
Write support is only implemented for switches and selects.
However the C++ code provides the required API to write to a modbus device.
These methods can be called from a lambda.

View File

@ -4,10 +4,12 @@ AHT10 Temperature+Humidity Sensor
.. seo::
:description: Instructions for setting up AHT10 temperature and humidity sensors
:image: aht10.jpg
:keywords: aht10
:keywords: aht10 aht20 aht21 dht20
The ``aht10`` Temperature+Humidity sensor allows you to use your aht10
(`datasheet <http://www.aosong.com/userfiles/files/media/aht10%E8%A7%84%E6%A0%BC%E4%B9%A6v1_1%EF%BC%8820191015%EF%BC%89.pdf>`__) i2c-based sensor with ESPHome.
The ``aht10`` Temperature+Humidity sensor allows you to use your AHT10
(`datasheet <http://www.aosong.com/userfiles/files/media/aht10%E8%A7%84%E6%A0%BC%E4%B9%A6v1_1%EF%BC%8820191015%EF%BC%89.pdf>`__), AHT20 (`datasheet <https://cdn-learn.adafruit.com/assets/assets/000/091/676/original/AHT20-datasheet-2020-4-16.pdf?1591047915>`__), AHT21 (`datasheet <https://asairsensors.com/wp-content/uploads/2021/09/Data-Sheet-AHT21-Humidity-and-Temperature-Sensor-ASAIR-V1.0.03.pdf>`__) :ref:`I²C <i2c>`-based sensor with ESPHome.
The DHT20 (`datasheet <https://cdn.sparkfun.com/assets/8/a/1/5/0/DHT20.pdf>`__) sensor has the packaging of the :doc:`dht` series, but has the AHT20 inside and is speaking :ref:`I²C <i2c>` as well.
.. figure:: images/aht10-full.jpg
:align: center

View File

@ -4,13 +4,13 @@ DHT Temperature+Humidity Sensor
.. seo::
:description: Instructions for setting up DHT11 and DHT22 temperature and humidity sensors.
:image: dht.jpg
:keywords: DHT11, DHT22, AM2302, RHT03, SI7021
:keywords: DHT11, DHT21, DHT22, AMS2301, AM2302, RHT03, SI7021
The DHT Temperature+Humidity sensor allows you to use your DHT11
(`datasheet <https://akizukidenshi.com/download/ds/aosong/DHT11.pdf>`__,
`Adafruit <https://www.adafruit.com/product/386>`__), DHT22
`Adafruit <https://www.adafruit.com/product/386>`__), DHT21/DHT22
(`datasheet <https://www.sparkfun.com/datasheets/Sensors/Temperature/DHT22.pdf>`__,
`Adafruit <https://www.adafruit.com/product/385>`__), AM2302
`Adafruit <https://www.adafruit.com/product/385>`__), AMS2301/AM2302
(`datasheet <https://cdn-shop.adafruit.com/datasheets/Digital+humidity+and+temperature+sensor+AM2302.pdf>`__,
`Adafruit <https://www.adafruit.com/product/393>`__), RHT03
(`datasheet <https://cdn.sparkfun.com/datasheets/Sensors/Weather/RHT03.pdf>`__,

View File

@ -42,7 +42,7 @@ the measurement range and ``unit_of_measurement`` to the appropriate unit for yo
- **pressure** (*Optional*): The information for the pressure sensor.
- **name** (**Required**, string): The name for the pressure sensor.
- **min_pressure** (**Required**, int or float): Minumim pressure for the pressure sensor, default unit ``psi``.
- **min_pressure** (**Required**, int or float): Minimum pressure for the pressure sensor, default unit ``psi``.
- **max_pressure** (**Required**, int or float): Maximum pressure for the pressure sensor, default unit ``psi``.
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas.
- All other options from :ref:`Sensor <config-sensor>`.

View File

@ -50,7 +50,7 @@ Configuration variables:
sensor. See https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes
for a list of available options. Set to ``""`` to remove the default state class of a sensor.
- **icon** (*Optional*, icon): Manually set the icon to use for the sensor in the frontend.
- **accuracy_decimals** (*Optional*, int): Manually set the accuracy of decimals to use when reporting values.
- **accuracy_decimals** (*Optional*, int): Manually set the number of decimals to use when reporting values. This does not impact the actual value reported to Home Assistant, it just sets the number of decimals to use when displaying it.
- **filters** (*Optional*): Specify filters to use for some basic
transforming of values. See :ref:`Sensor Filters <sensor-filters>` for more information.
- **internal** (*Optional*, boolean): Mark this component as internal. Internal components will
@ -558,10 +558,16 @@ So for example ``above: 5`` with no below would mean the range from 5 to positiv
- platform: dallas
# ...
on_value_range:
above: 5
below: 10
then:
- switch.turn_on: relay_1
- below: 5.0
then:
- switch.turn_on: relay_1
- above: 5.0
below: 10.0
then:
- switch.turn_on: relay_2
- above: 10.0
then:
- switch.turn_on: relay_3
Configuration variables:

View File

@ -40,6 +40,7 @@ If you want just the scaled value you can use the read_data function
# Example configuration entry
mcp3008:
cs_pin: D8
id: my_mcp
# Example config of sensors.
# This is a NTCB3950 10K thermocoupler attached to pin 0
@ -49,6 +50,7 @@ If you want just the scaled value you can use the read_data function
- platform: mcp3008 # Attached to pin 0 of the MCP3008.
reference_voltage: 3.19
update_interval: 1s
mcp3008_id: my_mcp
id: freezer_temp_source
number: 0 # MCP3008 pin number
- platform: resistance
@ -79,7 +81,7 @@ sensor platform to create individual sensors that will report the voltage to Hom
Configuration variables:
- **id** (**Required**, :ref:`config-id`): The id of the parent MCP3008 component.
- **mcp3008_id** (**Required**, :ref:`config-id`): The id of the parent MCP3008 component.
- **number** (**Required**, int): The pin number of the MCP3008
- **reference_voltage** (*Optional*, float): The reference voltage. Defaults to ``3.3V``.
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``1s``.

View File

@ -134,7 +134,8 @@ This example logs the value as parsed and the raw modbus bytes received for this
ESP_LOGI("","Sensor properties: adress = 0x%X, offset = 0x%X value type=%d",item->start_address,item->offset,item->sensor_value_type);
int i=0 ;
for (auto val : data) {
ESP_LOGI("","data[%d]=0x%02X (%d)",i++ ,data[i],data[i]);
ESP_LOGI("","data[%d]=0x%02X (%d)",i,data[i],data[i]);
i++;
}
return x ;

View File

@ -30,13 +30,12 @@ See :doc:`/components/display/nextion` for setting up the display
- platform: nextion
name: "Current Humidity"
component_name: humidity # pageX.humidity for a global
nextion_precision: 1
precision: 1
update_interval: 4s
- platform: nextion
nextion_id: nextion1
name: "Current Temperature"
variable_name: temperature
hass_component_name: sensor.temperature
- platform: nextion
id: s01
component_id: 2

View File

@ -102,8 +102,8 @@ As of April 2022 the average fresh air Co² concentration is 419 ppm.
on_...:
then:
- scd4x.perform_forced_calibration:
value: 419 # outside average April 2022
id: my_scd41
value: 419 # outside average April 2022
id: my_scd41
value can be a template
@ -112,8 +112,8 @@ value can be a template
on_...:
then:
- scd4x._perform_forced_calibration_action:
value: !lambda "{ return 419 };"
id: my_scd41
value: !lambda "{ return 419 };"
id: my_scd41
.. _factory_reset_action:

View File

@ -181,8 +181,8 @@ Hygro thermometer, small square body, segment LCD, encrypted, broadcasts tempera
There are the following possibilities to operate this sensor:
1. Xiaomi stock firmware (requires a bindkey in order to decrypt the received data, see :ref:`obtaining_the_bindkey`)
2. Device flashed with `ATC MiThermometer <https://github.com/atc1441/ATC_MiThermometer>`__ custom firmware
3. Device flashed with `PVVX MiThermometer <https://github.com/pvvx/ATC_MiThermometer>`__ custom firmware
2. Device flashed with `PVVX MiThermometer <https://github.com/pvvx/ATC_MiThermometer>`__ custom firmware
3. Device flashed with `ATC MiThermometer <https://github.com/atc1441/ATC_MiThermometer>`__ custom firmware
- "Mi Like" advertisement (dummy bindkey required)
- "Custom" advertisement (no bindkey required)
@ -203,6 +203,24 @@ Configuration example for Xiaomi stock firmware or ATC MiThermometer firmware se
battery_level:
name: "LYWSD03MMC Battery Level"
Configuration example for PVVX MiThermometer firmware set to "Custom" advertisement:
.. code-block:: yaml
sensor:
- platform: pvvx_mithermometer
mac_address: "A4:C1:38:B1:CD:7F"
temperature:
name: "PVVX Temperature"
humidity:
name: "PVVX Humidity"
battery_level:
name: "PVVX Battery-Level"
battery_voltage:
name: "PVVX Battery-Voltage"
signal_strength:
name: "PVVX Signal"
Configuration example for ATC MiThermometer firmware set to "Custom" advertisement:
.. code-block:: yaml
@ -221,23 +239,6 @@ Configuration example for ATC MiThermometer firmware set to "Custom" advertiseme
signal_strength:
name: "ATC Signal"
Configuration example for PVVX MiThermometer firmware set to "Custom" advertisement:
.. code-block:: yaml
sensor:
- platform: pvvx_mithermometer
mac_address: "A4:C1:38:B1:CD:7F"
temperature:
name: "PVVX Temperature"
humidity:
name: "PVVX Humidity"
battery_level:
name: "PVVX Battery-Level"
battery_voltage:
name: "PVVX Battery-Voltage"
signal_strength:
name: "PVVX Signal"
MHO-C303
********
@ -593,8 +594,8 @@ For this, you load the `application <https://zaluthar.github.io/TelinkFlasher.ht
Other encrypted devices
***********************
1.
The easiest method (confirmed to work for LYWSD03MMC) is to use the `Telink flasher method <https://github.com/atc1441/ATC_MiThermometer>`__. The accompanying `video
<https://www.youtube.com/watch?v=NXKzFG61lNs>`_ shows how to wirelessly flash a LYWSD03MMC, or how to obtain the bind key of the stock firmware (watch till around 13:10). The custom firmware allows you to change several settings of the device, including the smiley and the advertising interval. Keep in mind that when flashing the custom firmware, you need to enable the 'Advertising Type' to be 'Mi Like' and to give ESPHome a dummy bind key, as it still expects one even though the custom firmware does not encrypt the data.
The easiest method (confirmed to work for LYWSD03MMC) is to use the `Telink flasher method <https://github.com/pvvx/ATC_MiThermometer>`__. The accompanying `video
<https://www.youtube.com/watch?v=NXKzFG61lNs>`_ shows how to wirelessly flash a LYWSD03MMC, or how to obtain the bind key of the stock firmware (watch till around 13:10). The custom firmware allows you to change several settings of the device, including the smiley and the advertising interval. Follow the instructions on the site using Telink Flasher - best results with a Bluetooth-enabled Android phone. Note that with ``pvvx`` default settings advertisment is set to ``Custom`` with no encryption. No need for ``bind_key`` in this case, you can just add the sensors to your ESPHome config as described above.
2.
The other option is to use the original Mi Home app to add the sensor once. While adding the device, a new key is generated and uploaded into the Xiaomi cloud and to the device itself. Currently a chinese server needs to be selected as the rest of the world doesn't support most of these devices yet. Once generated, the key will not change again until the device is removed and re-added in the Xiaomi app.
@ -614,18 +615,44 @@ Another option is to use a SSL packet sniffer. It can be setup on either an Andr
The ``bind_key`` is the 32 digits "value" item in the above output which needs to be inserted into the config file.
Improving reception performance
-------------------------------
Use a board with an Ethernet connection to the network, to offload ESP32's radio module from WiFi traffic, this gains performance on Bluetooth side.
To maximize the chances of catching advertisements of the sensors, you can set ``interval`` equal to ``window`` in :doc:`/components/esp32_ble_tracker` scan parameter settings:
.. code-block:: yaml
esp32_ble_tracker:
scan_parameters:
interval: 5s # try with 300ms if you don't have LAN module
window: 5s # try with 300ms if you don't have LAN module
active: false
Avoid placing the ESP node in racks, close to routers/switches or other network equipment as EMI interference will degrade Bluetooth signal reception. For best results put as far away as possible, at least 3 meters distance from any other such equipment.
Security considerations
-----------------------
You should at least protect your sensors with a custom pairing PIN code.
See Also
--------
- :doc:`/components/esp32_ble_tracker`
- :doc:`/components/sensor/index`
- :apiref:`xiaomi_lywsd03mmc/xiaomi_ble.h`
- :doc:`/components/ethernet`
- Passive BLE monitor integration for Home Assistant (ble_monitor custom component) `<https://github.com/custom-components/ble_monitor>`__
by `@Magalex2x14 <https://github.com/Magalex2x14>`__ and `@Ernst79 <https://github.com/Ernst79>`__
- Xiaomi LYWSD03MMC passive sensor readout `<https://github.com/ahpohl/xiaomi_lywsd03mmc>`__ by `@ahpohl <https://github.com/ahpohl>`__
- Custom firmware for the Xiaomi Thermometer LYWSD03MMC `<https://github.com/atc1441/ATC_MiThermometer>`__
- TeLink flasher application `<https://atc1441.github.io/TelinkFlasher.html>`__
- Custom firmware (PVVX) for the Xiaomi Thermometer LYWSD03MMC `<https://github.com/pvvx/ATC_MiThermometer>`__
- TeLink flasher application (PVVX) `<https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html>`__
- Custom firmware (ATC) for the Xiaomi Thermometer LYWSD03MMC `<https://github.com/atc1441/ATC_MiThermometer>`__
- TeLink flasher application (ATC) `<https://atc1441.github.io/TelinkFlasher.html>`__
- TeLink flasher application modified for CGDK2 `<https://zaluthar.github.io/TelinkFlasher.html>`__
- Xiaomi LYWSD03MMC passive sensor readout `<https://github.com/ahpohl/xiaomi_lywsd03mmc>`__ by `@ahpohl <https://github.com/ahpohl>`__
- Cloud Tokens Extractor: `<https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor>`__
- :ghedit:`Edit`

View File

@ -4,7 +4,7 @@ Modbus Controller Switch
.. seo::
:description: Instructions for setting up a modbus_controller device sensor.
The ``modbus_controller`` sensor platform creates a sensor from a modbus_controller component
The ``modbus_controller`` switch platform creates a switch from a modbus_controller component
and requires :doc:`/components/modbus_controller` to be configured.

View File

@ -59,6 +59,7 @@ Configuration variables:
web interface. Defaults to ``false``.
- **ota** (*Optional*, boolean): Turn on or off the OTA feature inside webserver. Strongly not suggested without enabled authentication settings. Defaults to ``true``.
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
- **local** (*Optional*, boolean): Include supporting javascript locally allowing it to work without internet access. Defaults to ``false``.
- **version** (*Optional*, string): ``1`` or ``2``. Version 1 displays as a table. Version 2 uses web components and has more functionality. Defaults to ``2``.
.. note::

View File

@ -281,6 +281,22 @@ Some steps that can help with the issue:
although it may also increase power (and possibly battery) usage of other devices also using power
save mode.
Component states not restored after reboot
------------------------------------------
If you notice that some components, like ``climate`` or some switches are randomly not restoring their
state after a reboot, or you get periodic ``ESP_ERR_NVS_NOT_ENOUGH_SPACE`` errors in your debug log,
it could be that the NVS portion of the flash memory is full due to repeatedly testing multiple
configurations (usually large) in the same ESP32 board. Try wiping NVS with the following commands:
.. code-block:: bash
dd if=/dev/zero of=nvs_zero bs=1 count=20480
esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash 0x009000 nvs_zero
Change ``/dev/ttyUSB0`` above to your serial port. If you have changed the partition layout, please adjust the
above offsets and sizes accordingly.
Docker Reference
----------------

View File

@ -89,7 +89,6 @@ Contributors
- `balk77 (@balk77) <https://github.com/balk77>`__
- `Paulus Schoutsen (@balloob) <https://github.com/balloob>`__
- `Andrew Zaborowski (@balrog-kun) <https://github.com/balrog-kun>`__
- `Rutger Nijhuis (@BananaPukeh) <https://github.com/BananaPukeh>`__
- `BarryMar (@BarryMar) <https://github.com/BarryMar>`__
- `bazuchan (@bazuchan) <https://github.com/bazuchan>`__
- `Viktr (@BbIKTOP) <https://github.com/BbIKTOP>`__
@ -136,9 +135,11 @@ Contributors
- `Cellie (@CelliesProjects) <https://github.com/CelliesProjects>`__
- `Kostas Chatzikokolakis (@chatziko) <https://github.com/chatziko>`__
- `chris-jennings (@chris-jennings) <https://github.com/chris-jennings>`__
- `Chris (@chrismaki) <https://github.com/chrismaki>`__
- `Christian Taedcke (@chrta) <https://github.com/chrta>`__
- `Pavel Skuratovich (@Chupaka) <https://github.com/Chupaka>`__
- `Chris Johnson (@ciband) <https://github.com/ciband>`__
- `Zimmermann Zsolt (@cinadr) <https://github.com/cinadr>`__
- `John (@CircuitSetup) <https://github.com/CircuitSetup>`__
- `Colby Rome (@cisasteelersfan) <https://github.com/cisasteelersfan>`__
- `Chris Debenham (@cjd) <https://github.com/cjd>`__
@ -422,6 +423,7 @@ Contributors
- `Kris (@K-r-i-s-t-i-a-n) <https://github.com/K-r-i-s-t-i-a-n>`__
- `Harald Nagel (@k7hpn) <https://github.com/k7hpn>`__
- `kaegi (@kaegi) <https://github.com/kaegi>`__
- `kahrendt (@kahrendt) <https://github.com/kahrendt>`__
- `Karol Zlot (@karolzlot) <https://github.com/karolzlot>`__
- `Krasimir Nedelchev (@kaykayehnn) <https://github.com/kaykayehnn>`__
- `Krzysztof Białek (@kbialek) <https://github.com/kbialek>`__
@ -463,6 +465,7 @@ Contributors
- `Lubos Horacek (@lhoracek) <https://github.com/lhoracek>`__
- `Juraj Liso (@LiJu09) <https://github.com/LiJu09>`__
- `lingex (@lingex) <https://github.com/lingex>`__
- `lkomurcu (@lkomurcu) <https://github.com/lkomurcu>`__
- `Lazar Obradovic (@lobradov) <https://github.com/lobradov>`__
- `Barry Loong (@loongyh) <https://github.com/loongyh>`__
- `LuBeDa (@lubeda) <https://github.com/lubeda>`__
@ -501,6 +504,7 @@ Contributors
- `MartinWelsch (@MartinWelsch) <https://github.com/MartinWelsch>`__
- `MasterTim17 (@MasterTim17) <https://github.com/MasterTim17>`__
- `Christopher Masto (@masto) <https://github.com/masto>`__
- `Mateus Demboski (@mateusdemboski) <https://github.com/mateusdemboski>`__
- `matikij (@matikij) <https://github.com/matikij>`__
- `Michel Marti (@matoxp) <https://github.com/matoxp>`__
- `matt123p (@matt123p) <https://github.com/matt123p>`__
@ -574,6 +578,7 @@ Contributors
- `NeoAcheron (@NeoAcheron) <https://github.com/NeoAcheron>`__
- `nepozs (@nepozs) <https://github.com/nepozs>`__
- `Mike Meessen (@netmikey) <https://github.com/netmikey>`__
- `Nick B. (@NickB1) <https://github.com/NickB1>`__
- `nickrout (@nickrout) <https://github.com/nickrout>`__
- `Nick Whyte (@nickw444) <https://github.com/nickw444>`__
- `nicuh (@nicuh) <https://github.com/nicuh>`__
@ -719,7 +724,7 @@ Contributors
- `Emanuele Tessore (@setola) <https://github.com/setola>`__
- `Abdelkader Boudih (@seuros) <https://github.com/seuros>`__
- `SharkSharp (@SharkSharp) <https://github.com/SharkSharp>`__
- `shbatm (@shbatm) <https://github.com/shbatm>`__
- `ShellAddicted (@ShellAddicted) <https://github.com/ShellAddicted>`__
- `sherbang (@sherbang) <https://github.com/sherbang>`__
- `Shish (@shish) <https://github.com/shish>`__
- `SiliconAvatar (@SiliconAvatar) <https://github.com/SiliconAvatar>`__
@ -732,13 +737,9 @@ Contributors
- `Sourabh Jaiswal (@sourabhjaiswal) <https://github.com/sourabhjaiswal>`__
- `Philip Allgaier (@spacegaier) <https://github.com/spacegaier>`__
- `spacemanspiff2007 (@spacemanspiff2007) <https://github.com/spacemanspiff2007>`__
- `spattinson (@spattinson) <https://github.com/spattinson>`__
- `Sean Brogan (@spbrogan) <https://github.com/spbrogan>`__
- `Stephan Peijnik-Steinwender (@speijnik) <https://github.com/speijnik>`__
- `spilin (@spilin) <https://github.com/spilin>`__
- `square99 (@square99) <https://github.com/square99>`__
- `Paul Krischer (@SqyD) <https://github.com/SqyD>`__
- `sredfern (@sredfern) <https://github.com/sredfern>`__
- `Samuel Sieb (@ssieb) <https://github.com/ssieb>`__
- `St4n (@St4n) <https://github.com/St4n>`__
- `stegm (@stegm) <https://github.com/stegm>`__
@ -748,7 +749,6 @@ Contributors
- `Stijn Tintel (@stintel) <https://github.com/stintel>`__
- `stubs12 (@stubs12) <https://github.com/stubs12>`__
- `Jordan Vohwinkel (@sublime93) <https://github.com/sublime93>`__
- `sveip (@sveip) <https://github.com/sveip>`__
- `swifty99 (@swifty99) <https://github.com/swifty99>`__
- `Sympatron GmbH (@Sympatron) <https://github.com/Sympatron>`__
- `synco (@synco) <https://github.com/synco>`__
@ -791,7 +791,6 @@ Contributors
- `Tom Matheussen (@Tommatheussen) <https://github.com/Tommatheussen>`__
- `tomle (@tomole444) <https://github.com/tomole444>`__
- `Tom Price (@tomtom5152) <https://github.com/tomtom5152>`__
- `tony (@tony-fav) <https://github.com/tony-fav>`__
- `David Kiliani (@torfbolt) <https://github.com/torfbolt>`__
- `Felix Eckhofer (@tribut) <https://github.com/tribut>`__
- `Trick van Staveren (@trickv) <https://github.com/trickv>`__
@ -810,6 +809,7 @@ Contributors
- `Thorsten von Eicken (@tve) <https://github.com/tve>`__
- `Tyler Menezes (@tylermenezes) <https://github.com/tylermenezes>`__
- `Unai (@unaiur) <https://github.com/unaiur>`__
- `user897943 (@user897943) <https://github.com/user897943>`__
- `UT2UH (@UT2UH) <https://github.com/UT2UH>`__
- `Vc (@Valcob) <https://github.com/Valcob>`__
- `Nad (@valordk) <https://github.com/valordk>`__
@ -835,9 +835,11 @@ Contributors
- `Artur 'Wodor' Wielogorski (@wodor) <https://github.com/wodor>`__
- `Rick van Hattem (@WoLpH) <https://github.com/WoLpH>`__
- `workingmanrob (@workingmanrob) <https://github.com/workingmanrob>`__
- `Sven Serlier (@wrt54g) <https://github.com/wrt54g>`__
- `Wojtek Strzalka (@wstrzalka) <https://github.com/wstrzalka>`__
- `Wolfgang Tremmel (@wtremmel) <https://github.com/wtremmel>`__
- `Wumpf (@Wumpf) <https://github.com/Wumpf>`__
- `wysiwyng (@wysiwyng) <https://github.com/wysiwyng>`__
- `Mike (@xsnoopy) <https://github.com/xsnoopy>`__
- `Yaroslav (@Yarikx) <https://github.com/Yarikx>`__
- `Marcin Jaworski (@yawor) <https://github.com/yawor>`__
@ -853,4 +855,4 @@ Contributors
- `Michael Labuschke (@zigman79) <https://github.com/zigman79>`__
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
*This page was last updated June 18, 2022.*
*This page was last updated June 23, 2022.*

View File

@ -281,7 +281,7 @@ Environmental
.. imgtable::
AHT10, components/sensor/aht10, aht10.jpg, Temperature & Humidity
AHT10 / AHT20 / AHT21 / DHT20, components/sensor/aht10, aht10.jpg, Temperature & Humidity
AirThings BLE, components/sensor/airthings_ble, airthings_logo.png, Temperature & Humidity & Pressure
AM2320, components/sensor/am2320, am2320.jpg, Temperature & Humidity
BME280, components/sensor/bme280, bme280.jpg, Temperature & Humidity & Pressure